Categories
Technical
-- Database/SQL
-- Multimedia
-- Internet/Networking
-- Operating System
-- Programming
-- Security/Hacking
-- Science/Engineering
-- Web/HTML/CSS/Ajax
-- Unix/Linux
-- Windows
-- Mac OS X
-- Office
-- Perl/PHP/Python
-- C/C++/C#
-- .NET
-- Java
-- Hardware
-- Game Development
-- Embedded Systems
-- Graphics and Design
-- Network Programming
Study
Novel
Nonfiction
Health
Tutorial
Entertainment
Business
Magazine
Arts & Design
Audiobooks & Video Training
Cultures & Languages
Family & Home
Law & Politics
Lyrics & Music
Software Related
eBook Torrents
Uncategorized
-- Database/SQL
-- Multimedia
-- Internet/Networking
-- Operating System
-- Programming
-- Security/Hacking
-- Science/Engineering
-- Web/HTML/CSS/Ajax
-- Unix/Linux
-- Windows
-- Mac OS X
-- Office
-- Perl/PHP/Python
-- C/C++/C#
-- .NET
-- Java
-- Hardware
-- Game Development
-- Embedded Systems
-- Graphics and Design
-- Network Programming
Study
Novel
Nonfiction
Health
Tutorial
Entertainment
Business
Magazine
Arts & Design
Audiobooks & Video Training
Cultures & Languages
Family & Home
Law & Politics
Lyrics & Music
Software Related
eBook Torrents
Uncategorized
Share With Friends
Archive by Date
2012-08-06
2012-08-05
2012-08-04
2012-08-03
2012-08-02
2012-08-01
2012-07-31
2012-07-30
2012-07-29
2012-07-28
2012-08-05
2012-08-04
2012-08-03
2012-08-02
2012-08-01
2012-07-31
2012-07-30
2012-07-29
2012-07-28
Search Tag
clivages
belieben
Bernadett
Sorceress
远望
iptables
Beshara
Stinking
Kinematic
Jonnie
Literarische
Transformational
GATT
Iranians
Dormida
Fritti
deVilliers
Gyldensdals
呼声
物有所值
Conveyors
Elaborare
esclavo
套筒扳手
Mastocytosis
Rothacher
巴拿马
getmedicalstuff
Simey
byvalogo
Atam
5210
Terr
Slocum
管理学+斯蒂芬罗宾斯
桂纪略
Powerscore
船王
ABCpdf
Verkaufsresultate
Lehrerinnen
bilancio
Macchine
Gouryella
ImedRx
Anatomiya
shoulders
Pief
KeyBoard
Expands
Newest
Technical Inside the SQL Server Query Optimizer
"Multiplexed Networks for Embedded Systems: CAN, LIN, Flexray, Safe-by-Wire..." by Dominique Paret (Repost)
Dino Esposito, "Building Web Solutions with ASP.Net and ADO.NET" (Repost)
Learning Core Audio: A Hands-On Guide to Audio Programming for Mac and iOS
Power Performance - Multimedia Storytelling for Journalism and Public Relations
pluralsight-training.net SQL Server: Transact-SQL Basic Data Retrieval [2012, ENG]
pluralsight-training.net SQL Server: Collecting and Analyzing Trace Data [2012, ENG]
Pluralsight.net - Introduction to Nancy-JWARE
Technical Structured Programming with C++
Technical Getting Started with LaTeX by David R. Wilkins
Windows A Third Window - Natural Life beyond Newton and Darwin
PLURALSIGHT.NET WINDOWS 8 METRO CONNECTED APPS-JGTiSO
PLURALSIGHT.NET WINDOWS 8 METRO APPLICATION DATA-JGTiSO
PLURALSIGHT.NET BUILDING WINDOWS 8 METRO APPS WITH C PLUS PLUS AND XAML-JGTiSO
PLURALSIGHT.NET BUILDING WINDOWS 8 METRO APPS WITH C SHARP AND XAML-JGTiSO
PLURALSIGHT.NET INTRODUCTION TO BUILDING WINDOWS 8 METRO APPLICATIONS-JGTiSO
Multimedia over IP and Wireless Networks - Compression, Networking, and Systems
Interactive Distributed Multimedia Systems and Telecommunication Services
The Art of Hardware Architecture - Design Methods and Techniques for Digital Circuits
Pro/ENGINEER WILDFIRE 5.0 Tutorial and MultiMedia CD
"Multiplexed Networks for Embedded Systems: CAN, LIN, Flexray, Safe-by-Wire..." by Dominique Paret (Repost)
Dino Esposito, "Building Web Solutions with ASP.Net and ADO.NET" (Repost)
Learning Core Audio: A Hands-On Guide to Audio Programming for Mac and iOS
Power Performance - Multimedia Storytelling for Journalism and Public Relations
pluralsight-training.net SQL Server: Transact-SQL Basic Data Retrieval [2012, ENG]
pluralsight-training.net SQL Server: Collecting and Analyzing Trace Data [2012, ENG]
Pluralsight.net - Introduction to Nancy-JWARE
Technical Structured Programming with C++
Technical Getting Started with LaTeX by David R. Wilkins
Windows A Third Window - Natural Life beyond Newton and Darwin
PLURALSIGHT.NET WINDOWS 8 METRO CONNECTED APPS-JGTiSO
PLURALSIGHT.NET WINDOWS 8 METRO APPLICATION DATA-JGTiSO
PLURALSIGHT.NET BUILDING WINDOWS 8 METRO APPS WITH C PLUS PLUS AND XAML-JGTiSO
PLURALSIGHT.NET BUILDING WINDOWS 8 METRO APPS WITH C SHARP AND XAML-JGTiSO
PLURALSIGHT.NET INTRODUCTION TO BUILDING WINDOWS 8 METRO APPLICATIONS-JGTiSO
Multimedia over IP and Wireless Networks - Compression, Networking, and Systems
Interactive Distributed Multimedia Systems and Telecommunication Services
The Art of Hardware Architecture - Design Methods and Techniques for Digital Circuits
Pro/ENGINEER WILDFIRE 5.0 Tutorial and MultiMedia CD
Useful Links
Technical Image Processing in C (The 2nd Electronic Edition, 2000)
Posted on 2010-04-11
|
Image Processing in C (The 2nd Electronic Edition, 2000) Contents 0 Introduction to CIPS 1 0.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0.2 System Considerations . . . . . . . . . . . . . . . . . . . . . . 2 0.3 The Three Methods of Using CIPS . . . . . . . . . . . . . . . 3 0.4 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 3 0.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 0.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1 Image File Input and Output 7 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2 Image Data Basics . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3 Image File I/O Requirements . . . . . . . . . . . . . . . . . . 8 1.4 TIFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4.1 The IFD . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4.2 The TIFF Code . . . . . . . . . . . . . . . . . . . . . . 15 1.5 BMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.5.1 The BMP Code . . . . . . . . . . . . . . . . . . . . . . 20 1.6 A Simple Program . . . . . . . . . . . . . . . . . . . . . . . . 21 1.7 Converting Between TIFF and BMP . . . . . . . . . . . . . . 21 1.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.9 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2 Viewing and Printing Image Numbers 23 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2 Displaying Image Numbers . . . . . . . . . . . . . . . . . . . . 23 2.3 Printing Image Numbers . . . . . . . . . . . . . . . . . . . . . 24 2.4 Viewing and Printing Images . . . . . . . . . . . . . . . . . . 24 2.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3 Halftoning 27 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2 The Halftoning Algorithm . . . . . . . . . . . . . . . . . . . . 27 3.3 Sample Output . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.4 Printing an Image . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.6 Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4 Histograms and Equalization 33 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.2 Histograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.3 Histogram Equalization . . . . . . . . . . . . . . . . . . . . . 35 4.4 Equalization Results . . . . . . . . . . . . . . . . . . . . . . . 39 4.5 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.6 The 4.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.8 Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 side Program . . . . . . . . . . . . . . . . . . . . . . . . . 44 5 Basic Edge Detection 47 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.2 Edge Detection . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.3 Implementing Edge Detectors . . . . . . . . . . . . . . . . . . 51 5.4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6 Advanced Edge Detection 57 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.2 Homogeneity Operator . . . . . . . . . . . . . . . . . . . . . . 58 6.3 Di erence Operator . . . . . . . . . . . . . . . . . . . . . . . . 58 6.4 Di erence of Gaussians . . . . . . . . . . . . . . . . . . . . . 60 6.5 More Di erences . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.6 Contrast-based Edge Detector . . . . . . . . . . . . . . . . . . 66 6.7 Edge Enhancement . . . . . . . . . . . . . . . . . . . . . . . . 69 6.8 Variance and Range . . . . . . . . . . . . . . . . . . . . . . . . 70 6.9 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6.10 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7 Spatial Frequency Filtering 75 7.1 Spatial Frequencies . . . . . . . . . . . . . . . . . . . . . . . . 75 7.2 Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 7.3 Application of Spatial Image Filtering . . . . . . . . . . . . . 77 7.4 Frequency vs. Spatial Filtering . . . . . . . . . . . . . . . . . 77 7.5 Low-Pass Filtering . . . . . . . . . . . . . . . . . . . . . . . . 78 7.6 Median Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 7.7 E ects of Low-Pass Filtering . . . . . . . . . . . . . . . . . . . 81 7.8 Implementing Low-Pass Filtering . . . . . . . . . . . . . . . . 87 7.9 High-Pass Filtering . . . . . . . . . . . . . . . . . . . . . . . . 88 7.10 E ects of High-Pass Filtering . . . . . . . . . . . . . . . . . . 88 7.11 Implementing High-Pass Filtering . . . . . . . . . . . . . . . . 92 7.12 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 7.13 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 8 Image Operations 95 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 8.2 Addition and Subtraction . . . . . . . . . . . . . . . . . . . . 95 8.3 Rotation and Flipping . . . . . . . . . . . . . . . . . . . . . . 98 8.4 Cut and Paste . . . . . . . . . . . . . . . . . . . . . . . . . . 98 8.5 Image Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 8.6 Blank Images . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 8.7 Inverting Images . . . . . . . . . . . . . . . . . . . . . . . . . 100 8.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 9 Histogram-Based Segmentation 103 9.1 Histogram-Based Segmentation . . . . . . . . . . . . . . . . . 103 9.2 Histogram Preprocessing . . . . . . . . . . . . . . . . . . . . . 106 9.3 Thresholding and Region Growing . . . . . . . . . . . . . . . 110 9.4 Histogram-Based Techniques . . . . . . . . . . . . . . . . . . 113 9.4.1 Manual Technique . . . . . . . . . . . . . . . . . . . . 113 9.4.2 Histogram Peak Technique . . . . . . . . . . . . . . . 117 9.4.3 Histogram Valley Technique . . . . . . . . . . . . . . . 119 9.4.4 Adaptive Histogram Technique . . . . . . . . . . . . . 121 9.5 An Application Program . . . . . . . . . . . . . . . . . . . . . 122 9.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 9.7 Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 10 Segmentation via Edges & Gray Shades 125 10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 10.2 Segmentation Using Edges & Gray Shades . . . . . . . . . . . 125 10.3 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 10.4 Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 10.4.1 Preprocessing . . . . . . . . . . . . . . . . . . . . . . . 132 10.4.2 Improved Edge Detection . . . . . . . . . . . . . . . . 136 10.4.3 Improved Region Growing . . . . . . . . . . . . . . . . 138 10.5 The Three New Techniques . . . . . . . . . . . . . . . . . . . 145 10.5.1 Edges Only . . . . . . . . . . . . . . . . . . . . . . . . 145 10.5.2 Gray Shades Only . . . . . . . . . . . . . . . . . . . . 146 10.5.3 Edges and Gray Shade Combined . . . . . . . . . . . . 146 10.6 Integrating the New Techniques . . . . . . . . . . . . . . . . . 149 10.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 10.8 Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 11 Manipulating Shapes 153 11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 11.2 Working with Shapes . . . . . . . . . . . . . . . . . . . . . . 153 11.3 Erosion and Dilation . . . . . . . . . . . . . . . . . . . . . . . 156 11.4 Opening and Closing . . . . . . . . . . . . . . . . . . . . . . . 160 11.5 Special Opening and Closing . . . . . . . . . . . . . . . . . . 163 11.6 Outlining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 11.7 Thinning and Skeletonization . . . . . . . . . . . . . . . . . . 176 11.8 A Shape Operations Application Program . . . . . . . . . . . 179 11.9 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 11.10References . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 12 Boolean and Overlay Operations 183 12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 12.2 Boolean Operations . . . . . . . . . . . . . . . . . . . . . . . 183 12.3 Applications of Boolean Operations . . . . . . . . . . . . . . 184 12.4 Overlay Operations . . . . . . . . . . . . . . . . . . . . . . . 188 12.5 Applications of Overlay Operations . . . . . . . . . . . . . . . 188 12.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 13 Geometric Operations 197 13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 13.2 Geometric Operations . . . . . . . . . . . . . . . . . . . . . . 197 13.3 Rotation About Any Point . . . . . . . . . . . . . . . . . . . . 202 13.4 Bi-Linear Interpolation . . . . . . . . . . . . . . . . . . . . . . 203 13.5 An Application Program . . . . . . . . . . . . . . . . . . . . . 206 13.6 A Stretching Program . . . . . . . . . . . . . . . . . . . . . . 207 13.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 13.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 14 Warping and Morphing 209 14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 14.2 Image Warping . . . . . . . . . . . . . . . . . . . . . . . . . . 209 14.3 The Warping Technique . . . . . . . . . . . . . . . . . . . . . 210 14.4 Two Ways to Warp . . . . . . . . . . . . . . . . . . . . . . . . 212 14.5 Shearing Images . . . . . . . . . . . . . . . . . . . . . . . . . . 216 14.6 Morphing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 14.7 A Warping Application Program . . . . . . . . . . . . . . . . 221 14.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 14.9 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 15 Basic Textures Operations 223 15.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 15.2 Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 15.3 Edge Detectors as Texture Operators . . . . . . . . . . . . . . 225 15.4 The Di erence Operator . . . . . . . . . . . . . . . . . . . . . 231 15.5 The Hurst Operator . . . . . . . . . . . . . . . . . . . . . . . 234 15.6 The Compare Operator . . . . . . . . . . . . . . . . . . . . . . 239 15.7 An Application Program . . . . . . . . . . . . . . . . . . . . . 241 15.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 15.9 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 16 Random Dot Stereograms 243 16.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 16.2 Stereogram Basics . . . . . . . . . . . . . . . . . . . . . . . . . 243 16.3 Stereogram Algorithms . . . . . . . . . . . . . . . . . . . . . . 249 16.4 Source Code and Examples . . . . . . . . . . . . . . . . . . . . 252 16.5 Color eld Stereograms . . . . . . . . . . . . . . . . . . . . . . 256 16.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 16.7 Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 17 Steganography: Hiding Information 265 17.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 17.2 Hidden Writing . . . . . . . . . . . . . . . . . . . . . . . . . . 265 17.3 Watermarking . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 17.4 Hiding Images in Images . . . . . . . . . . . . . . . . . . . . . 269 17.5 Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 17.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 17.7 Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 18 Command-Line Programming 277 18.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 18.2 Batch Programming with .bat Files . . . . . . . . . . . . . . . 277 18.3 Basics of .bat Programming . . . . . . . . . . . . . . . . . . . 278 18.4 Uses and Examples . . . . . . . . . . . . . . . . . . . . . . . . 280 18.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 19 A Tcl/Tk Windows Interface 283 19.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 19.2 The Need for a Windows Interface . . . . . . . . . . . . . . . . 283 19.3 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 19.4 The Tcl/Tk Graphical User Interface . . . . . . . . . . . . . . 285 19.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 19.6 Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 A The make le 289 A.1 The Listings . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 A.2 Commands to Build The C Image Processing System . . . . . 291 A.3 Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 A.4 Code Listings . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 B The Stand-Alone Application Programs 301 C Source Code Tables of Contents 307 C.1 Listings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 D Index of Image Processing Algorithms 319 D.1 Algorithms Listed in Order of Appearance . . . . . . . . . . . 319 D.2 Algorithms Listed Alphabetical Order . . . . . . . . . . . . . . 322 E Bibliography 327 E.1 Image Processing Books . . . . . . . . . . . . . . . . . . . . . 327 E.2 Programming Books . . . . . . . . . . . . . . . . . . . . . . . 329 F Source Code Listings 331 F.1 Code Listings for Chapter 1 . . . . . . . . . . . . . . . . . . . 331 F.2 Code Listings for Chapter 2 . . . . . . . . . . . . . . . . . . . 395 F.3 Code Listings for Chapter 3 . . . . . . . . . . . . . . . . . . . 401 F.4 Code Listings for Chapter 4 . . . . . . . . . . . . . . . . . . . 409 F.5 Code Listings for Chapter 5 . . . . . . . . . . . . . . . . . . . 425 F.6 Code Listings for Chapter 6 . . . . . . . . . . . . . . . . . . . 440 F.7 Code Listings for Chapter 7 . . . . . . . . . . . . . . . . . . . 459 F.8 Code Listings for Chapter 8 . . . . . . . . . . . . . . . . . . . 471 F.9 Code Listings for Chapter 9 . . . . . . . . . . . . . . . . . . . 487 F.10 Code Listings for Chapter 10 . . . . . . . . . . . . . . . . . . . 512 F.11 Code Listings for Chapter 11 . . . . . . . . . . . . . . . . . . . 538 F.12 Code Listings for Chapter 12 . . . . . . . . . . . . . . . . . . . 591 F.13 Code Listings for Chapter 13 . . . . . . . . . . . . . . . . . . . 623 F.14 Code Listings for Chapter 14 . . . . . . . . . . . . . . . . . . . 642 F.15 Code Listings for Chapter 15 . . . . . . . . . . . . . . . . . . . 661 F.16 Code Listings for Chapter 16 . . . . . . . . . . . . . . . . . . . 683 F.17 Code Listings for Chapter 17 . . . . . . . . . . . . . . . . . . . 729 F.18 Code Listings for Chapter 18 . . . . . . . . . . . . . . . . . . . 743 F.19 Code Listings for Chapter 19 . . . . . . . . . . . . . . . . . . . 753
Rating:
2.5 out of 5 by Book123 |
Download Links | |
Server | Status |
---|---|
Direct Download Link 1 | Alive |
Direct Download Link 2 | Alive |
Download Link (Download Link 1) | Alive |
Buy This Book at Best Price >> |
Like this article?! Give us +1: