Author: Kenny A. Hunt Publisher:A K Peters/CRC Press Pages: 300 ISBN: 9781568817170 Aimed at: Java programmers interested in image processing Rating: 3 Pros: Readable introduction, covers many topics Cons: Spread too thin Reviewed by: David Conrad
This is lavishly produced and idiosyncratic book with a title that raises high expectations.
Roughly speaking it is more about Java and the "engineering" angle on image processing than the photographic or AI angle. This is odd as the book features lots of art works as examples of what the image processing being discussed achieves. What is more each of the art works is discussed at the end of each chapter. Although this is hardly on topic, I found the details fascinating. The biog of the author on the back explains the eccentricity:
"Although he aspired to become a famous artist, economic realities and the possession of a disadvantaged skill set pushed him in another direction"
After a brief discussion of what digital image processing is we move on to Chapter 2 and a refresher course on optics and human vision. Chapter 3 deals with the basics of representing images  the theory of color, color spaces and conversions and types of image. It is here we meet Java for the first time with a discussion of its basic image classes. Chapter 4 goes deeper into Java image handling and even questions of efficiency.
Chapter 5 is where the real image processing starts, with a look at point processes. The book is mostly organized according to the grade of linear theory in use  point processes, convolution and frequency domain operators. This first chapter is mostly about histogram methods and rescaling in general. The later part of the chapter considers binary operations such as image addition and alpha blending.
Chapter 6 is about regional processing and it is essentially an introduction to convolution filtering with a side order of nonlinear operators such as median filtering. Here we also meet edge detection, but there is no real indication of what you might use it for other than enhancement. The chapter ends with an introduction to template matching.
Chapter 7 takes a slight detour from linear filtering type theory and looks at geometric operations. Matrix operations are introduced with general affine transformations. Interpolation as part of resampling is also introduced. The final part of the chapter deals with simple nonlinear maps but more as special effects than as ways of correcting specific distortions. The next chapter moves on to image realization  printing and display technologies including half toning and dithering.
Finally we return to the main road of linear filtering with a look at the frequency domain.The general theory is followed up by the discrete cosine transformation, the DFT and filtering. The chapter finishes with a quick look at wavelets. The next chapter deals with image compression, lossy and nonlossy. After runlength coding and predictive coding, we eventually get to case studies explaining JPEG and GIF.
The penultimate chapter is something of an outline in that it deals with morphological processing of binary images  dilation, erosion, opening and closing. It then goes on to features and segmentation. Finally the book closes with a look at advanced Java programming.
Overall the style of the book is friendly and it is easy to read. There is a lot of math, but it is at the level of what you need to implement things; this is no pure math approach to image processing in the sense that you don't get any very theoretical introduction to linear theory or the connection between spatial and frequency domain operations. You do also need to be able to program in Java to follow the programs and appreciate some of the ideas.
The big problem with this book is that it is a little schizophrenic. Is it about Java and programming, or math and image processing, or image processing and art? The answer is that it is about all of them and as such doesn't really go very far with any of them.
This is a good but very basic introduction to image processing as an engineering task but it doesn't really give you very much idea as to what the purpose of the tasks are. It would make a reasonable text for an introductory course on practical image processing with Java, but it is difficult to recommend it to the general reader wanting to know what image processing is all about, or to a Java programmer trying to implement an application who needs to get to grips with images.
Murach's JavaScript, 2nd Ed
Authors: Joel Murach and Michael Urban Publisher: Murach & Associates Pages: 630 ISBN: 9781890774851 Print: 1890774855 Audience: Novice programmers Rating: 4 Reviewer: Ian Elliot
Another book on core JavaScript  does this one have anything extra to offer?

Modern Mathematics and Applications in Computer Graphics and Vision
Author: Hongyu Guo Publisher: World Scientific Pages: 500 ISBN: 9789814449328 Print: 9814449334 Kindle: B00KF43NF0 Audience: Competent mathematicians interested in computer graphics. Rating: 4.5 Reviewer: Mike James
Math is the foundation of computer graphics and vision so this book seems [ ... ]
 More Reviews 
