Hi, I am doing my last CS year project and I need some good documentation about image processing. I'll be doing it in C, probably on an embedded device running UcLinux.
I study computer vision, which is a related field but not equivalent, and we use the book Computer Vision: A Modern Approach by Forsyth & Ponce. I'm not sure if it's the best but it's one of the ones I have read.
Computer Graphics by James D. Foley is a good introduction to the basic principles including the math behind it code in C.
I liked Digital Image Processing: Principles and Applications by Gregory A. Baxes. It does not include C code within the text, but it does a good job of explaining the techniques.
I recommend Digital Image Warping by George Wolberg. It has good coverage on things like image reconstruction and texture mapping.
Gonzalez and Woods: Digital Image Processing. A bit old, but as long as you're not desirous of anyreally research grade processing, it's fine. Available cheap second hand from the usual places.
You might enjoy Computer Vision and Applications. I don't think I've met a more thorough book on image processing.
Here's an excerpt from its preface:
This book offers a fresh approach to computer vision. The whole vision process from image formation to measuring, recognition, or reacting is regarded as an integral process. Computer vision is understood as the host of techniques to acquire, process, analyze, and understand complex higher-dimensional data from our environment for scientific and technical exploration. In this sense this book takes into account the interdisciplinary nature of computer vision with its links to virtually all natural sciences and attempts to bridge two important gaps. The first is between modern physical sciences and the many novel techniques to acquire images.
The second is between basic research and applications. When a reader with a background in one of the fields related to computer vision feels he has learned something from one of the many other facets of computer vision, the book will have fulfilled its purpose.
This book comprises three parts.
The first part, Sensors and Imaging, covers image formation and acquisition.
The second part, Signal Processing and Pattern Recognition, focuses on processing of the spatial and spatiotemporal signals acquired by imaging sensors.
The third part consists of an Application Gallery, which shows in a concise overview a wide range of application examples from both industry and science. This part illustrates how computer vision is integrated into a variety of systems and applications.
This question has already been asked several times. You will find book suggestions here:
- http://stackoverflow.com/questions/207092/image-processing-textbook
- http://stackoverflow.com/questions/98438/computer-vision-reference
- http://stackoverflow.com/questions/432569/where-do-i-start-learning-about-image-processing-and-object-recognition/
The computer vision library of choice for embedded projects is OpenCV, which implements a lot of image processing algorithms.