CDS 468: Image Operators and Processing
CDS 468-K01: Image Operators and Processing
(Fall 2026)
05:00 PM to 07:40 PM W
Mason Korea (119 Songdomunhwa-ro, Yeonsu-gu, Incheon, Korea) TBA
Section Information for Fall 2026
Course Description:
This course provides a comprehensive introduction to image processing and analysis through the lens of image operators, a unified mathematical notation that maps directly to Python implementations. Students will learn to describe, implement, and apply a wide range of image operators, from basic point operations and color space conversions to geometric transformations, frequency domain filtering, texture analysis, shape description, and basis set expansions. The course emphasizes hands-on programming in Python using NumPy, SciPy, and custom libraries, bridging theory and practice. Topics include spatial and morphological filtering, principal component analysis (PCA) and eigen images, Fourier transforms and frequency filtering, correlation and composite filters (SDF, MACE, FPF), edge detection and Hough transforms, texture recognition (GLCM, wavelets, Gabor filters), shape descriptors (Fourier descriptors, medial axis), and basis sets (DCT, Zernike polynomials, empirical mode decomposition). A final project allows students to apply image operators to a real-world problem of their choice.
Learning Objectives:
Upon successful completion of this course, students will be able to:
1. Foundational Concepts
· Explain the image operator notation and its correspondence to Python code.
· Describe the properties of digital images, including spatial and intensity resolution, color models (RGB, HSV, YIQ, L*a*b*), and common image file formats.
· Perform point operations (histogram equalization, thresholding, scaling, log transforms) on images.
2. Spatial Domain Operators
· Implement geometric transformations: translation, rotation, scaling, affine transforms, and polar/log‑polar mappings.
· Apply morphological operators (erosion, dilation, opening, closing) to clean and segment binary images.
· Design and apply spatial filters (smoothing, sharpening, median, Sobel, Laplacian) and understand their effect on images.
3. Dimensionality Reduction and Basis Sets
· Compute principal component analysis (PCA) on image patches and interpret eigenvalues and eigenvectors.
· Generate and use eigen images (eigenfaces) for recognition tasks.
· Apply discrete cosine transform (DCT), Zernike polynomials, and empirical mode decomposition (EMD) as basis sets for feature extraction.
4. Frequency Domain Operators
· Computing the discrete Fourier transform (FFT) of an image and interpreting its magnitude and phase.
· Design and apply low‑pass, high‑pass, band‑pass, and wedge filters in the frequency domain.
· Use Fourier techniques for artifact removal and fingerprint analysis.
5. Correlation and Composite Filtering
· Implement spatial and frequency‑domain correlation for template matching.
· Understand and apply composite correlation filters (SDF, MACE, fractional power filters) for object detection.
6. Edge, Texture, and Shape Analysis
· Detect edges using gradient operators (Sobel, Canny), difference of Gaussians (DoG), and corner detection (Harris).
· Use Hough transforms to detect lines and circles.
· Compute texture features using gray‑level co‑occurrence matrices (GLCM), Haralick metrics, Law’s filters, and wavelet decomposition.
· Apply Gabor filter banks for texture extraction.
· Describe shape using contour methods (chain code, Fourier descriptors), region methods (moments, eigenvalues), and structural methods (medial axis, curvature flow).
7. Practical Implementation and Project
· Write Python scripts and Jupyter notebooks that correctly implement image operators using NumPy, SciPy, and provided modules.
· Design and execute a final project that applies multiple image operators to a real‑world dataset (e.g., face recognition, medical image analysis, object detection).
· Document and present project results effectively.
8. Critical Thinking
· Analyze the strengths and limitations of different image operators for a given task.
· Choose appropriate basis sets or filter designs based on the features to be extracted.
Learning Outcomes:
Upon successful completion of this course, students will be able to
- explain the image operator notation and its correspondence to Python code; describe digital image properties including spatial and intensity resolution, color models (RGB, HSV, YIQ, L*a*b*), and common file formats;
- perform point operations (histogram equalization, thresholding, scaling, log transforms);
- implement geometric transformations (translation, rotation, scaling, affine, polar/log‑polar mappings);
- apply morphological operators (erosion, dilation, opening, closing) for cleaning and segmenting binary images;
- design and apply spatial filters (smoothing, sharpening, median, Sobel, Laplacian);
- compute principal component analysis (PCA) on image patches and interpret eigenvalues and eigenvectors; generate and use eigenimages (eigenfaces) for recognition;
- apply discrete cosine transform (DCT), Zernike polynomials, and empirical mode decomposition (EMD) as basis sets for feature extraction;
- compute the discrete Fourier transform (FFT) of an image and interpret its magnitude and phase;
- design and apply low‑pass, high‑pass, band‑pass, and wedge filters in the frequency domain;
- use Fourier techniques for artifact removal and fingerprint analysis; implement spatial and frequency‑domain correlation for template matching; understand and apply composite correlation filters (SDF, MACE, fractional power filters) for object detection;
- detect edges using gradient operators (Sobel, Canny), difference of Gaussians (DoG), and Harris corner detection; use Hough transforms to detect lines and circles;
- compute texture features using gray‑level co‑occurrence matrices (GLCM), Haralick metrics, Law’s filters, and wavelet decomposition;
- apply Gabor filter banks for texture extraction;
- describe shape using contour methods (chain code, Fourier descriptors), region methods (moments, eigenvalues), and structural methods (medial axis, curvature flow);
- write Python scripts and Jupyter notebooks that correctly implement image operators using NumPy, SciPy, and provided modules; design and execute a final project that applies multiple image operators to a real‑world dataset; document and present project results effectively; and
- analyze the strengths and limitations of different image operators for a given task, choosing appropriate basis sets or filter designs based on the features to be extracted.
Course Information from the University Catalog
Credits: 3
This course is graded on the Undergraduate Regular scale.
The University Catalog is the authoritative source for information on courses. The Schedule of Classes is the authoritative source for information on classes scheduled for this semester. See the Schedule for the most up-to-date information and see Patriot web to register for classes.