As a hobby, I have spent several years rewriting the visual effects found in Photoshop in the Java programming language, and adding some that were not present in that package. This is one of the books that I used to duplicate the effects I wanted. The book is full of all kinds of good information that you can use to produce various visual effects. I'm not talking about simple mathematical transforms or pixel-in/pixel-out effects. This book is about producing an image that looks like a sketch or type of painting.
Chapter two, on pixel manipulation of images, gives an excellent explanation of dithering and halftoning methods. All of the details are presented in pseudocode. From chapter three forward, matters are not so simple. Chapters three through five still deal with image transforms in two dimensions, but now the emphasis is on simulating brush strokes, curves, and drawing lines for images that mimic hand-drawn sketches and paintings.
Starting in chapter six, three-dimensional techniques are explored. Chapter six deals with the encoding of 3D information in 2D data structures. Chapter seven is about dealing with geometric models as data types and using that geometric model information to add further detail to non-photorealistic versions of images. Chapter eight is largely a continuation of chapter seven, but there the subject is lighting models.
Chapter nine turns to a different subject entirely - distortion. Two basic methods are examined: image-space distortion and object-space distortion. Image-space distortion is the simplest method, and object-space distortion is more complex since it takes into account the underlying geometric model of the image, subdividing the image into objects.
Chapters ten and eleven really don't reveal anything new at the algorithm level. Chapter 10 discusses the applications of non-photorealistic rendering, and you may or may not be interested in it. However, chapter 11 presents a conceptual framework for binding the contents of the book together, and is rather an important chapter. It basically muses about the entirety of the book, assuming that the reader has been exposed to all of the ideas in it and comes up with a terminology that helps you describe the physics of the viewing process.
I thought the authors did a good job of explaining NPR graphics and of building from basic concepts to quite complex ones in a gradual and systematic way. Since the topic is very difficult, it would be impossible to write an easy book on the subject. However, this one is quite complete on the topics it covers. I would recommend it to anybody interested in this subject.