With the ongoing explosion in the popularity of digital cameras, online image delivery, powerful graphics-editing programs, and digital video, the technologies involved have been receiving a lot of attention. But such technologies have been evolving for years and Digital Image Processing Using Java
provides a fine snapshot (pun intended) of the state of digital-imaging art. A serious treatment of the theory and practice of encoding and manipulating graphics data, the book explains how computer programs work with pixels, colors, and other aspects of digital imaging. And the text puts an emphasis on sampling, filtering, compression, and additional manipulation algorithms.
But this book is about digital images, not Java. The Java programming language is just a tool for illustrating how to manipulate image data. (Because of its clean design, Java is particularly well suited to this job.) A typical section in the book gives the theory behind a particular kind of image processing (often with some pure math that's easy to follow with a bit of study) and then shows how Java implements the idea. Java2D API classes are used in the code listings, illustrating the results using sample images (some in color) and graphs. --David Wall
Topics covered: Techniques for representing visual information digitally, and for manipulating those representations with software. It doesn't cover individual file formats with much detail, but Digital Image Processing pays tons of attention to sampling, color enhancement, edge detection, affine transforms, and compression. Code samples in the book are in Java.
From the Back Cover
[shelf classification] Image Processing/Java
Digital Image Processing
A Practical Introduction using Java
Digital image processing is not a new phenomenon: techniques for the manipulation, correction and enhancement of digital images have been in practical use for over 30 years and the underlying theoretical ideas have been around far longer. We don't have to look far these days to see an example of image processing at work. It has insinuated itself into many different areas of human endeavour, ranging from small-scale activities such as desktop publishing and healthcare, through to activity on the largest scales imaginable - the search for natural resources on the Earth, or the study of other planets, stars and galaxies.
Many existing texts give this subject a strong electrical engineering or physics perspective, or present a rigorous treatment that can be comprehended fully only by a reader possessing advanced mathematical skills. Others adopt a less theory-based, more practical approach, but lack the examples or the software tools that would allow readers to develop their own image processing applications; and, where software tools are provided, they are often inflexible or platform dependent.
The aim of this book is to provide a practical introduction to image processing, avoiding unnecessary mathematical detail and focusing on the computational aspects of the subject. It balances the discussion of the conceptual and the practical, providing the computer-literate reader with the means to experiment with the concepts while making the material easily digestible to those not wanting to indulge in programming. Those willing to experiment will achieve a deeper understanding of this fascinating and complex subject by working with the Java programs described in the book. The accompanying CD-ROM contains:
· Java classes that can be used to develop sophisticated image processing software
· ready-to-run tools with which to perform image processing experiments
The book will appeal most strongly to computer enthusiasts with some programming experience, or those students taking an image processing course as part of their undergraduate degree.
Nick Efford is a Senior Teaching Fellow at the School of Computer Studies, University of Leeds, with considerable experience of researching and teaching image processing. He has a longstanding interest in computer programming and has worked with Java since the first public release of the language.