To the instructor Acknowledgements 1 Introduction 1.1 Concerning this book 1.2 Concerning prerequisites 1.3 Some terminology 1.4 Organization of a machine vision system 1.5 The nature of images 1.6 Images: Operations and analysis Reference Review of mathematical principles 2.1 A brief review of probability 2.2 A review of linear algebra 2.3 Introduction to function minimization 2.4 Markov models References 3 Writing programs to process images 3.1 Image File System (IFS) software 3.2 Basic programming structure for image processing 3.3 Good programming styles 3.4 Example programs 3.5 Makefiles 4 Images: Formation and representation 4.1 Image representations 4.2 The digital image 4.3 Describing image formation 4.4 The image as a surface 4.5 Neighborhood relations 4.6 Conclusion 4.7 Vocabulary Topic 4A Image representations 4A.1 A variation on sampling: Hexagonal pixels 4A.2 Other types of iconic representations References 5 Linear operators and kernels 5.1 What is a linear operator? 5.2 Application of kernel operators in digital images 5.3 Derivative estimation by function fitting 5.4 Vector representations of images 5.5 Basis vectors for images 5.6 Edge detection 5.7 A kernel as a sampled differentiable function 5.8 Computing convolutions 5.9 Scale space 5.10 Quantifying the accuracy of an edge detector 5.11 So how do people do it? 5.12 Conclusion 5.13 Vocabulary Topic 5A Edge detectors 5A.1 The Canny edge detector 5A.2 Improvements to edge detection 5A.3 Inferring line segments from edge points 5A.4 Space/frequency representations 5A.5 Vocabulary References 6 Image relaxation: Restoration and feature extraction 6.1 Relaxation 6.2 Restoration 6.3 The MAP approach 6.4 Mean field annealing 6.5 Conclusion 6.6 Vocabulary Topic 6A Alternative and equivalent algorithms 6A.1 GNC: An alternative algorithm for noise removal 6A.2 Variable conductance diffusion 6A.3 Edge-oriented anisotropic diffusion 6A.4 A common description of image relaxation operators 6A.5 Relationship to neural networks 6A.6 Conclusion Bibliography 7 Mathematical morphology 7.1 Binary morphology 7.2 Gray-scale morphology 7.3 The distance transform 7.4 Conclusion 7.5 Vocabulary Topic 7A Morphology 7A.1 Computing erosion and dilation efficiently 7A.2 Morphological sampling theorem 7A.3 Choosing a structuring element 7A.4 Closing gaps in edges and surfaces 7A.5 Vocabulary Bibliography 8 Segmentation 8.1 Segmentation: Partitioning an image 8.2 Segmentation by thresholding 8.3 Connected component analysis 8.4 Segmentation of curves 8.5 Active contours (snakes) 8.6 Segmentation of surfaces 8.7 Evaluating the quality of a segmentation 8.8 Conclusion 8.9 Vocabulary Topic 8A Segmentation 8A.1 Texture segmentation 8A.2 Segmentation of images using edges 8A.3 Motion segmentation 8A.4 Color segmentation 8A.5 Segmentation using MAP methods 8A.6 Human segmentation Bibliography Shape 9.1 Linear transformations 9.2 Transformation methods based on the covariance matrix 9.3 Simple features 9.4 Moments 9.5 Chain codes 9.6 Fourier descriptors 9.7 The medial axis 9.8 Deformable templates 9.9 Quadric surfaces 9.10 Surface harmonic representations 9.11 Superquadrics and hyperquadrics 9.12 Generalized cylinders (GCs) 9.13 Conclusion 9.14 Vocabulary Topic 9A Shape description 9A.1 Finding the diameter of nonconvex regions 9A.2 Inferring 3D shape from images 9A.3 Motion analysis and tracking 9A.4 Vocabulary Bibliography 10 Consistent labeling 10.1 Consistency 10.2 Relaxation labeling 10.3 Conclusion 10.4 Vocabulary Topic 10A 3D Interpretation of 2D line drawings References 11 Parametric transforms 11.1 The Hough transform 11.2 Reducing computational complexity 11.3 Finding circles 11.4 The generalized Hough transform 11.5 Conclusion 11.6 Vocabulary Topic 11A Parametric transforms 11A.1 Finding parabolae 11A.2 Finding the peak 11A.3 The Gauss map 11A.4 Parametric consistency in stereopsis 11A.5 Conclusion 11A.6 Vocabulary References 12 Graphs and graph-theoretic concepts 12.1 Graphs 12.2 Properties of graphs 12.3 Implementing graph structures 12.4 The region adjacency graph 12.5 Using graph-matching: The subgraph isomorphism problem 12.6 Aspect graphs 12.7 Conclusion 12.8 Vocabulary References 13 Image matching 13.1 Matching iconic representations 13.2 Matching simple features 13.3 Graph matching 13.4 Conclusion 13.5 Vocabulary Topic 13A Matching 13A.1 Springs and templates revisited 13A.2 Neural networks for object recognition 13A.3 Image indexing 13A.4 Matching geometric invariants 13A.5 Conclusion 13A.6 Vocabulary Bibliography 14 Statistical pattern recognition 14.1 Design of a classifier 14.2 Bayes' rule and the maximum likelihood classifier 14.3 Decision regions and the probability of error 14.4 Conditional risk 14.5 The quadratic classifier 14.6 The minimax rule 14.7 Nearest neighbor methods 14.8 Conclusion 14.9 Vocabulary Topic 14A Statistical pattern recognition 14A.1 Matching feature vectors using statistical methods 14A.2 Support vector machines (SVMs) 14A.3 Conclusion 14A.4 Vocabulary References 15 Clustering 15.1 Distances between clusters 15.2 Clustering algorithms 15.3 Optimization methods in clustering 15.4 Conclusion 15.5 Vocabulary References 16 Syntactic pattern recognition 16.1 Terminology 16.2 Types of grammars 16.3 Shape recognition using grannnatical structure 16.4 Conclusion 16.5 Vocabulary References 17 Applications 17.1 Multispectral image analysis 17.2 Optical character recognition (OCR) 17.3 Automated/assisted diagnosis 17.4 Inspection/quality control 17.5 Security and intruder identification 17.6 Robot vision Bibliography 18 Automatic target recognition 18.1 The hierarchy of levels of ATR 18.2 ATR system components 18.3 Evaluating performance of ATR algorithms 18.4 Machine vision issues unique to ATR 18.5 ATR algorithms 18.6 The Hough transform in ATR 18.7 Morphological techniques in ATR 18.8 Chain codes in ATR 18.9 Conclusion Bibliography Author index Index