Computer vision seeks a process that starts with a noisy, ambiguous signal from a TV camera and ends with a high-level description of discrete objects located in 3-dimensional space and identified in a human classification. This book addresses the process at several levels. First to be treated are the low-level image-processing issues of noise removaland smoothing while preserving important lines and singularities in an image. At a slightly higher level, a robust contour tracing algorithm is described that produces a cartoon of the important lines in the image. Thirdis the high-level task of reconstructing the geometry of objects in the scene. The book has two aims: to give the computer vision community a new approach to early visual processing, in the form of image segmentation that incorporates occlusion at a low level, and to introduce real computer algorithms that do a better job than what most vision programmers use currently. The algorithms are: - a nonlinear filter that reduces noise and enhances edges, - an edge detector that also finds corners and produces smoothed contours rather than bitmaps, - an algorithm for filling gaps in contours.