Digital image processing is best learned by writing and executing software programs that implement image processing algorithms. Toward this end, the compact disk affixed to the back cover of this book provides executable versions of the PIKS Scientific Application Program Interface C programming language library, which can be used to implement exercises described in this chapter.
The compact disk contains the following items:
A Solaris Version 2.5 or higher operating system executable version of the PIKS Scientific API.
A Windows 2000, NT, XP and Vista operating system executable version of the PIKS Scientific API.
A PDF file format version of the 680 page PIKS Scientific C Programmer's Reference Manual written by William K. Pratt and Gerard A. Paquette.
A digital image database of most of the source images used in the book plus many others widely used in the literature. The images are provided in the PIKS file format. A utility program is provided for conversion from the PIKS file format to the TIFF file format.
Digital images of many of the book photographic figures. The images are provided in the TIFF file format. A utility program is provided for conversion from the TIFF file format to the PIKS file format.
C program Solaris and Windows source and executable demonstration programs.
C program Solaris and Windows executable programs of the programming exercises.
PIKSTool — A Windows graphical user interface for executing many of the PIKS operators without program compilation.
Appendix 4 contains information about the installation of the PIKS Scientific API. The appendix also lists the contents of the compact disk directory.
The following sections contain descriptions of programming exercises. All of them can be implemented using the PIKS API. It is, of course, possible to implement the exercises with other APIs or tools that match the functionality of PIKS Scientific.
The purpose of these exercises is to teach the reader the fundamentals of digital image processing software development. Toward that end, the reader should follow the recipes of each exercise, and use the basic operators specified rather than using a single high-level operator to obtain the desired result. For example, it is recommended that the reader should follow the steps of Exercise 10.1 to perform histogram equalization on an image, and then obtain the same result (hopefully) by invoking the histogram modification operator.
Was this article helpful?