4.0 out of 5 stars
Good implementations of various motion algorithms, November 27, 2005
This review is from: Programming Cameras and Pan-Tilts: with DirectX and Java (Paperback)
I am surprised that this little book was largely ignored during the brief time it was in print. It is lacking as a tutorial, but it is great if you are interested in combining some interesting video and motion algorithms with DirectX and Java Media Framework to create a working application.
Chapter one is just an introduction to the components that make up a video application. It is very general and therefore not too useful. Chapters two and three are about DirectShow and how to expand it if necessary. These chapters are also very general and there are better books on the subject.
Chapter four is where the interesting part of the book begins. The authors implement a change detection filter in DirectShow. The code is commented well enough with the algorithm clearly exposed so that you could implement it in any other language. I tried it out myself in Java and found that the algorithm worked quite well.
Chapter five extends the simple change detection filter into a full blown security application with plenty of details on the controls needed, and was a very interesting read.
Chapter six is about using DirectShow to interface to a pan-tilt camera. I read through it and found it interesting, but I did not implement anything shown there.
Chapter seven is a very good chapter on object tracking using the mean-shift algorithm. I translated this code into Java and the algorithm did work as advertised. It is very hard to find readable discussions, much less working implementations, of object tracking algorithms, and this chapter has both. There are plenty of equations shown to explain what is going on and why the algorithm works.
Chapter eight is more about integrating the pan-tilt controls and the mean-shift algorithm into DirectX for a complete application.
Chapter nine is the only chapter that references the Java Media Framework. Chapter nine shows the reader how to acquire and display live video, perform image processing on Java video that has been captured by JMF, and how to transmit video across a network. This chapter is valuable for two reasons. First, it is one of the few books that has a solid treatment of JMF's real time player along with working code. Also, it is one of the few books that demonstrates working code for JMF's processor, which was the centerpiece of its last release.
Therefore, if you are interested in motion detection, object tracking, or camera/computer interfacing I strongly recommend this book. It is worthwhile for people whether or not they are using DirectShow, but obviously, you should already be familiar with computer vision and image processing if you want to understand this book's contents.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No