Introduction to Digital Image Processing

Winter 2019-20

 

Home

Announcements

Class Info

Syllabus

References

Homework

Final Projects

Software

Piazza portal

 

EE168 Course description

Digital pictures today are all around us, on the web, on DVDs, and on digital satellite systems, for example. In this course we will investigate the creation and manipulation of digital images by computer. The course will consist of theoretical material introducing the mathematics of images and imaging, as well as computer laboratory exercises designed to introduce methods of real-world data manipulation. The format will consist of lectures on Tuesdays, with Thursdays devoted to lab exercises. The lab exercises will introduce various image processing topics, which will be examined in more detail in the homework assignments. Topics will include representation of two-dimensional data, time and frequency domain representations, filtering and enhancement, the Fourier transform, convolution, interpolation, color images, and techniques for animation. Lecture notes will be available online under the Syllabus tab and handed out routinely, and special handouts will also be distributed from time to time. Reading assignments will be given from the recommended text or from other sources, most of which will be on reserve at Terman Engineering Library. Homework assignments will generally be given out on Thursdays and collected on Thursdays, with the results handed back during the following week. Cooperation on homework is encouraged, but you are expected to keep the work on an approximately equal basis. There will be one midterm exam plus a final term project. Grades will be based on homework, the midterm exam, and the project, with weightings of approximately 40% on the final project, 25% on the midterm, 30% on homework, and up to 5% extra credit problems.

We will implement many of the concepts presented in the course in a series of computer exercises designed to acquaint you with computer manipulation of actual image data. Most of the lab assignments will be implemented using Matlab on your laptops, with data to be stored at your discretion in your university student computer account so that they are accessible anywhere. We will use the classroom on Thursdays as an imaging lab, and both the TA and professor will be available in or near the Lab to help with the exercises. Additional problems will be given as homework. The resources required for the homework problems will be within the capability of Matlab on your laptop or with class computer accounts in the Leland system, but you are free to implement them on any machine on which you are comfortable. Most of the exercises can be done using Matlab, although many examples will be given using C and Fortran language routines. Soem of you may wish to use another language such as Python, it is up to you if that is your preference. Again, you are permitted to implement the exercises using any language or system you wish-- it is the result that counts.

A rough schedule of the course is as follows, with more details in the course syllabus web page. We first introduce the ideas concerning how we define images and imaging. The next several weeks will cover how we apply systems theory, such as transforms and impulse functions, to two-dimensional imaging systems. This will be accompanied by several computer implementation exercises designed to introduce you to the real world of data, where things are often not as tidy as they may be in more theoretical circumstances. Topics such as sampling and interpolation, important in all data manipulation, follow. We will also introduce principles of color and color manipulation for special image effects. After the midterm, we will begin to apply the theoretical constructs from the first half of the course to a series of examples. Some examples will be illustrations of various methods to display 2-D or 3-D information, such as perspective viewing and the generation of anaglyphs (those red-green images creating stereo effects if you wear the funny glasses.) We will culminate by addressing computer animations, where we will design and create a series of digital images that will comprise a digital movie. The digital movies that you create, along with a written report, will serve as the final project. The final project will be a team effortconsisting of the design and animation of a digital movie incorporating the techniques introduced in the class. You will be free to choose your own subject; several examples will be provided that you may use. 

Textbook info

Recommended, but not required: Computer Vision and Image Processing, by Scott Umbaugh, Prentice-Hall, Inc., Upper Saddle River, New Jersey, 1998.

Note: this book is out of print, and we will distribute useful excerpts from it as required. If you wish to pick up your own copy from a secondary source, it is a decent introduction to image processing.

Prerequisites

None. This is an introduction to the subject of digital image processing, and should be approachable by most undergraduates. The labwork does entail programming in Matlab, however. No experience with Matlab is required, as initially we will give you most of the commands necessary to implement the exercises.

Course structure

The course will meet two times a week, Mitchell Earth Sciences 350/372 on Tuesdays for lectures, and on Thursdays for labs. There will be reading assignments from the text plus handouts in class. Some reading will be of documents available primarily over the World Wide Web.