This introductory image processing text is ideal for college students studying computer science or software engineering. With an emphasis on software design, the text builds on an accessible mathematical foundation and on extensive sample Java code to teach students the fundamentals of image processing. The text is accompanied by rich illustrations that demonstrate the results of performing processing on famous art pieces. This approach gives readers real-world examples of ways they may use image processing. Each chapter includes problems for students, and an online supplement offers instructor resources.