Welcome to this web site accompanying our textbooks on digital image processing. Our books provide a modern, algorithmic introduction to digital image processing, designed to be used both by learners looking for a firm foundation on which to build and practitioners in search of critical analysis and modern implementations of the most important techniques. While we concentrate on practical applications and working implementations, we do so without glossing over the important formal details and mathematics necessary for a deeper understanding of the algorithms. In preparing these texts, we started from the premise that simply creating a recipe book of imaging solutions would not provide the deeper understanding needed to apply these techniques to novel problems. Instead, our solutions typically develop stepwise along three different perspectives: (a) in mathematical form, (b) as portable pseudocode algorithms, and (c) as complete implementations in a real programming language Java. We use a common and consistent notation throughout to intertwine all three perspectives, thus providing multiple but linked views of problems and solutions. For our readers this site provides the following documents and materials: the complete source code, errata, images and slide materials, an ImageJ reference and tutorial, and useful links to other resources.
Our books are currently available in the following print and online editions:
- Digital Image Processing – An Algorithmic Introduction using Java Springer-Verlag, New York (2008). ISBN 978-1-84628-968-2. Single-volume hardcover edition with 566 pages and 394 illustrations, full color print. Read more..
- Principles of Digital Image Processing (Vol. 1-3) Springer Undergraduate Topics in Computer Science, New York (2009-2013). 3-volume softbound edition, full color print. Volumes 1-2 cover essentially the same contents as the hardcover edition. Volume 3 (added in 2013) covers all-new content. Read more..
- Vol. 1: Fundamental Techniques (ISBN 978-1-84800-191-6)
- Vol. 2: Core Algorithms (ISBN 978-1-84800-195-4)
- Vol. 3: Advanced Methods (ISBN 978-1-84882-918-3) This is currently the most recent English edition.
- Digitale Bildverarbeitung – Eine Einführung mit Java und ImageJ Springer-Verlag Heidelberg, 2nd edition (2006). Single-volume hardcover edition. ISBN 978-3-540-30941-3. Read more..
- Digitale Bildverarbeitung – Eine algorithmische Einführung mit Java (to appear 2014) Springer-Verlag Heidelberg, 3rd edition (to be published in Spring 2014). Single-volume hardcover edition. ISBN 978-3-642-04603-2. This completely revisedGerman edition will include all materials previously only published in English plus additional chapters on selected new topics.
- Digital Image Processing – An Algorithmic Introduction using Java Springer / Tsinghua University Press (2010). ISBN 978-7-302-21365-9. Read more..
The algorithms in our books are implemented in Java and ImageJ which is a small, simple and flexible environment for digital image processing, originally conceived (and still being developed) by Wayne Rasband at the U.S. National Institutes of Health (NIH). Our source code is distributed in two parts:
- A single archive file that contains the common source code and compiled Java files shared by all book editions:
imagingbook.jar
- A dedicated ZIP archive
BurgerBurge..-plugins.zip
for each book edition that contains a set of ImageJ plugins, structured by individual book chapters.
- Common archive (required for all): imagingbook.jar
- Select the dedicated plugin set for your book edition:
- Additional JAR files required: commons-math3-3.1.1.jar Jama-1.0.2.jar
It is assumed that you have an up-to-date ImageJ installation available. If not, first set up a minimal ImageJ environment (following the instructions on the ImageJ website), where denotes ImageJ's root folder.
- Place imagingbook.jar in the /plugins/jars folder (create this folder if it does not already exist).
- Expand the zip file with the dedicated plugin set inside the /plugins folder. Each book chapter is represented by a sub-folder in plugins.
- Place the additonal JAR files in /plugins/jars.
- Start ImageJ, chapters and contained plugins should now be visible in the 'Plugins' menu. Use 'Compile and run..' to execute plugins after any modification. Note that this source code is being continuously updated, enhanced and adapted to newer releases of Java and ImageJ. Thus some of the original code examples in the printed texts may have been replaced by newer and improved versions without notice, although we attempt to preserve the original functionality as much as possible. This may affect class structures, method parameters and coding practices in general. The API thus cannot be guaranteed to be stable and may be incompatible with older code.
This software is provided as a supplement to the authors' textbooks on digital image processing published by Springer-Verlag in various languages and editions. Permission to use and distribute this software is granted under the BSD 2-Clause "Simplified" License and below.
Copyright (c) 2006-2013 Wilhelm Burger, Mark J. Burge. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Unfortunately mistakes happen and we are grateful to our readers for reporting them and studying the texts so carefully! Download the set of replacement pages for each book edition below. All corrections and changes are highlighted in color.