xiv
Chapter 13 contains a new section at the end introducing one version of the retinex algo-
rithm. Chapter 14 implements a simpler and faster method for run-length encoding, and
includes a new section on LZW compression. Chapter 15 has been simplified, and more
connections made between the discrete wavelet transform and digital filtering. Also in this
chapter a new wavelet toolbox is used, one that amazingly has been written to be used
in each of MATLAB, Octave, and Python. In Chapter 16 the greater modularity of the
programs has allowed a greater conciseness, with (I hope) increased clarity.
Finally, new images have been used to ameliorate licensing or copyright difficulties. All
images in this book are either used with permission of their owners, or are the author’s and
may be used freely and without permission. They are listed at the end.
Acknowledgments
The first edition of this book began as set of notes written to accompany an undergrad-
uate introductory course to image processing; these notes were then extended for a further
course. Thanks must go to the many students who have taken these courses, and who have
discussed the subject material and its presentation with me.
I would like to thank my colleagues at Victoria University for many stimulating conver-
sations about teaching and learning. I would also like to thank Associate Professor Robyn
Pierce at the University of Melbourne, for providing me with a very pleasant environment
for six months, during which much of the initial programming and drafting of this new
edition was done.
Sunil Nair and Sarfraz Khan, of Taylor and Francis Publishing Company, have pro-
vided invaluable help and expert advice, as well as answering all my emails with admirable
promptness. Their helping hands when needed have made this redrafting and rewriting a
very pleasant and enjoyable task.
I am indebted to the constant hard work of David Miguel Susano Pinto (maintainer of
the Octave Forge image package under the alias of Carnë Draug), and his predecessor Søren
Hauberg, the original author of the image package; also Stefan van der Walt, lead developer
of the Python scikit-image package. They have made lasting and valuable contributions to
open-source imaging software, and also have answered many of my questions.
I would also like to thank the reviewers for their close and careful reading of the initial
proposal, and for their thoughtf ul, detailed, and constructive comments.
Finally, heartfelt thanks to my long suffering wife Felicity, and my children Angus,
Edward, Fenella, William, and Finlay, who have put up, for far too long, with absent-
mindedness, tables and benches covered with scraps of papers, laptops, and books, and a
husband and father who was more concentrated on his writing than their needs.