CS 410 Top: Image Processing
| Credit Hours: | 4 |
| Course Coordinator: | N/A |
| Course Description: | This course provides an introduction to the basic techniques of digital image processing. The student will learn modern approaches to image acquisition, image enhancement, image compression and image analysis. A significant amount of mathematics background is required since a good portion of the course deals with spatial domain and frequency domain image operators, their underpinnings in algebra and calculus, and the understanding of their application. Most of the examples are drawn from the area of biomedical image processing. |
| Prerequisites: | Calculus, Linear Algebra, Statistics
Programming experience in C, C++, Java or MATLAB. |
| Goals: | The goal of this course is to give the student a basic understanding of some of the fundamental techniques of digital image processing, including image acquisition, image enhancement, image compression and image analysis. In addition to a basic understanding the student will gain experience in the practical application of these techniques in the area of biomedical imaging. |
| Textbooks: | Digital Image Processing, (2nd Edition), R. C. Gonzalez and R. E. Woods,
Prentice-Hall, New Jersey, 2002. |
| References: | Practical Handbook on Image Processing for Scientific Applications, Bernd Jahne,
CRC Press, 1997.
The Scientist and Engineerís Guide to Digital Signal Processing, Steven W. Smith
California Technical Publishing, San Diego, 1997. |
| Major Topics: | Image sensing and representation
Image sampling and quantization
Image enhancement in the spatial domain
Image enhancement in the frequency domain
Color models
Image compression models |
| Laboratory Exercises: | One project of 6 weeks duration.
The project usually consists of the development of computer software to process images from a particular application domain, evaluate the results, write a report, and communicate those results during an oral presentation. Typical domains are biomedical imaging and SAR imaging. |
| CAC Category Credits |
Core | | Advanced |
| Data Structures |
0.4 | 0.5 |
| Algorithms |
0.4 | 1.5 |
| Software Design |
0.4 | 0.4 |
| Computer Architecture |
0.2 | |
| Programming Languages |
0.2 | |
| Oral and Written Communications: | Every student is required to submit at least 1 written report (not including exams, tests, quizzes, or commented programs) of typically 5 - 10 pages and to make 1 oral presentation of typically 15 minutes duration. |
| Social and Ethical Issues: | I typically spend approximately one hour discussing the various applications of image processing techniques and their social implications. Military uses of image processing for target tracking, smart bombs, surveillance, etc. Domestic uses of image processing for surveillance in the workplace, retinal identification to fight terrorism, face identification for search of criminal databases, traffic violations, etc. The students are not graded on their understanding of the social implications of image processing. |
| Theoretical Content: | Most of the theoretical material covered in the course is mathematical. The student must learn to use statistical and algebraic techniques with which they may have had only minimum experience in previous courses. There is a heavy emphasis on the algebraic view of image transforms ñ Fourier, Haar, Hartley, Hadamard, DCT, etc. The student is required to learn some sampling theory and some information theory. The student is required to understand the algorithmic complexity analysis of the image processing algorithms, but she is not required to prove the correctness of any algorithms. The student is also expected to learn something about the object-oriented design of image processing systems. About 60% of the course is devoted to theoretical material. The remaining 40% deals with the practical applications of the theory. |
| Problem Analysis: | Students are required to learn the mathematics of image processing and to be able to turn that mathematics into practical algorithms. They are given many examples early in the term and they are expected to analyze the algorithms for computational complexity. |
| Solution Design: | By the end of the term students are expected to be able to propose modifications to existing algorithms or new algorithms. They are expected to be able to justify their modifications in terms of utility and performance. |
|