NEW: Final Project Details!

Description: This course is an introduction to digital image processing. Simply put, image processing is the study of any algorithm that takes an image as input and produces an image as output. Digital images are ubiquitous in today's world, and the number of images available on the internet is exploding. Images are an important form of data in many fields. Examples include microscopy in biology, MRI and CT in medicine, satellite imagery in geology and agriculture, fingerprint and face images in security, and many others. Digital image processing is vital in fully harnessing the information in all of this data. Practically every digital image you see today has undergone some form of image processing. Even point-and-shoot digital cameras have a dedicated image processing microchip that performs simple image processing tasks immediately after a photograph is taken. In this course you will learn the basic algorithms of image processing, including image enhancement, filtering, feature detection, geometric transforms, color processing, and compression. The goals of this course are to give you the understanding of how image processing algorithms work and what algorithms to apply to a given problem, and also the foundation necessary to develop your own image processing algorithms.

NOTE: Students in this class are expected to know Java. The homework assignments and book examples are in Java. If you don't know Java, but have experience with C/C++, you should be ok with some amount of extra work. Please send me email if you have any questions.

Class meetings: 2:00 - 3:20pm, Tuesdays and Thursdays in WEB L102

Instructor: Tom Fletcher
Office: 4686 WEB
Email: fletcher AT cs.utah.edu
Office Hours: Monday 11am - noon, Thursday 11am - noon

Teaching assistant: Yang Gao
Office: MEB 3115 (desk 9)
Email: yang.gao AT utah.edu
Office Hours: Tuesday 11am - noon, Wednesday 10am - 11am

For Help: Email teach-cs4640 AT list.eng.utah.edu to send a question to the instructor and TA.

Mailing list: Sign up here to receive important class announcements.

Textbook: Digital Image Processing: An Algorithmic Introduction Using Java, by Willhelm Burger and Mark J. Burge

An electronic version of this book is freely available through the University! The website is here: http://www.springerlink.com/content/978-1-84628-379-6/. To access the book you must be visiting this website from the campus network. Or if you are off campus, you can access it using VPN: https://vpnaccess.utah.edu/.

Homework Instructions: Assignments should be submitted using handin. This can be done by logging into one of the CADE lab Linux machines and running the command:

handin cs4640 hw# filenames

(replacing the '#' with the current homework number and "filenames" with whatever files you are submitting). There is also a web interface to handin. See this page for more details.

Important Links:
ImageJ website
Java code from the book
How to setup ImageJ in Eclipse