This book is a tutorial on image processing. Each chapter explains basic concepts with words and gures, shows image processing results with photographs, and implements the operations in C. Information herein comes from articles published in The C/C++ Users Journal from 1990 through 1998 and from the rst edition of this book published in 1994. This second (electronic) edition contains new material in every chapter.

The goals of the rst edition of this book were to (1) teach image processing, (2) provide image processing tools, (3) provide an image processing software system as a foundation for growth, and (4) make all of the above available to anyone with a plain, garden variety PC.

These goals remain the same today, but much else has changed. The update to this text re
ects many of these changes. The Internet exploded, and this brought a limitless supply of free images to those of us who like to process them. With these images have come inexpensive software packages
that display and print images as well as convert le formats.

The operating systems on home desktop and laptop computers have come of age. These have brought at, virtual memory models so that it is easy to pull entire image les into memory for processing. This permitted the software revisions that are the basis of this second edition.

The software presented in this book will run on any computer using a 32-bit operating system (Windows 95, 98, NT and all avors of UNIX). I compiled it using D.J. Delorie's port of the (free) GNU C compiler (DJGPP, see www.delorie.com). It should compile ne using commercially available
C/C++ compilers. The software works on 8-bit, gray scale images in TIFF and BMP le formats. Inexpensive programs are available to convert almost any image into one of these formats.