CIT-421 Computer Graphics and Image Processing
Professor Md Abdul Masud
References
- Book-1: Maria Petrou, Costas Petrou - Image Processing : The Fundamentals (Second Edition)
- Book-2: Chris Solomon, Toby Breckon - Fundamentals of Digital Image Processing : A Practical Approach with Examples in MATLAB
- Book-3: Rafael C. Gonzalez, Richard E. Woods - Digital Image Processing (4th Edition)
- Book-4: Wilhelm Burger, Mark J. Burge - Principles of Digital Image Processing : Fundamental Techniques
Question Format
- Question Set 01: (Section 1 and Section 2)
- Chapter 1 : Representation (Book-2)
- Chapter 1 : Introduction (Book-1)
- Lecture 01 - Introduction Image Processing
- Chapter 3 : Histogram (Book-4)
- Section 4.4 Histogram manipulation (Book-1)
- Chapter 3 : Pixels (Book-2)
- Lecture 02 - Pixel and Image Transformation
- Question Set 02: (Section 3 and Section 4)
- Chapter 4 : Image Enhancement (Book-1)
- Lecture 03 - Image Enhancement
- Chapter 8 : Image Compression and Watermarking (Book-3)
- Question Set 03: (Section 5 and Section 6)
- Chapter 10 : Image Segmentation (Book-3)
- Chapter 12 : Image Pattern Classification (Book-3)
Reference: File in Google Classroom
Chapter 1 : Representation (Book-2)
1.1 What is an Image?
- Image Representation
- Resolution
- Spatial
- Temporal
- Bit
- Binary \(\to\) 2 bits
- Grayscale \(\to\) 8 bits
- Color \(\to\) 24 bits
1.2.1 Bit Plane Slicing
fig 1.3
1.2 Image Formats
1.3.1 Image Data Types
1.4 Color Space
RGB \(\to\) Grayscale conversion
Hue-Saturation Value graph
1.5 Lab \(\to\) Lab Work (MATLAB/Python)
1.5.1
Example 1.1
1.5.2
Example 1.2
1.5.3
Accessing pixel values
Example 1.5
Chapter 1 : Introduction (Book-1)
Slide: Lecture 01 - Introduction Image Processing
- What is an image / digital image?
- How is a digital image formed?
Example 1.1
Fig 1.3
- How many bits do we need to store an image?
\(2^m\) \(\to\) grayscale
\(2^m = 256, m = 8\)
\(N \times N\) Resolution
\(b = N \times N \times m\)
- What determines the quality of an image?
- What makes an images blurred?
- What is meant by image resolution?
- What does contrast mean?
- What does good contrast mean?
- What is the purpose of image processing?
- How do we do image processing?
- What is a linear operator?
- How does a linear operator treat an image?
- What is the meaning of point spread function?
Chapter 3 : Histogram (Book-4)
- To depict image statistics
3.1 What is a Histogram?
Histogram effects (topics in general)
Figure 3.3
3.2
3.2.1
- Exposure
- Contrast
- Dynamic Range
3.2.2 Image Effects
- Saturation
- Spikes and Gaps
- Impacts of Image compression
- Color Quantization
3.3 Computing Histogram
code implemetation
3.4
(self study)
3.5
(self study)
Chapter 3 : Pixels (Book-2)
Slide: Lecture 02 - Pixel and Image Transformation
Pixel transform, distribution of Pixels
3.1 What is Pixel?
Pixel is an abbreviation of "picture element" indexed an (x,y) column(c)-row(r)
- Spatial resolution
- Quantization level
Types of image - (study in details)
- Color/Gray image
- Infrared image (IR) \(\to\) IR light reflection/ IR radiation
- Medical Imaging - CT imaging, MRI imaging
- Radar/Solar imaging
- 3D imaging
- Scientific imaging
3.2 Operation upon pixels
- Point transform
- Arithmetic operation
- Logical operation
One-one function mapping
\(I_A\), \(I_B\), \(C\)
\(I_output = I_A + I_B = I_A (i,j) + I_B (i,j) = I_A + C = I_A (i,j) + C\)
\((i,j) = \{0, 1, 2,..., C-1\} \{0, 1, 2,..., R-1\}\)
Arithmetic Operation:
- Contrast adjustment
- Blending (self study and codeing)
- Subtraction, Multiplication, Division
Assignement
Code implementation of arithmetic operations:
- Contrast adjustment
- Blending
- Subtraction
- Multiplication
- Division
3.2.2 Logical operation
NOT, XOR, OR, AND, Bitwise operation
NOT: Inversion BU \(\to\)FG
\(I_{output} (i,j) = MAX - I_{input} (i,j)\)
Image data type (previous class)
3.2.3 Thresholding (Slide)
fig 3.4 fig 3.5 (self study)
3.3 Point-based (slide)
- Functional transformation
- Dynamic range \(\star \star \star\)
3.3.1 Logarithmic transform (slide)
Exponential transformation (slide)
3.4 Pixel Distributions: Histograms
Textbook-I, Page: 367
3.4.1 Histogram for Threshold Selection (Book + Slide)
fig 3.13
3.4.2 Adaptive Thresholding (slide)
3.4.3 Contrast Stretching (slide)
3.4.4 Hologram Equalization (slide)
Assignment
- to code all from the book
Chapter 4 : Image Enhancement (Book-1)
Slide: Lecture 03 - Image Enhancement
What is image enhancement?
- noise
- gaussian noise
- impulse noise
Chapter 4 : Enhancement (Book-2)
4.2 Pixel neighbourhoods
4.3 Filter kernels and the mechanics of linear filtering
PPT/Slide : Linear Filtering
Example 4.2 \(\star \star \star\)
PPT/Slide : Non-linear Filtering
4.4 Filtering for noise removal
Figure 4.3
4.4.1 Mean filtering
Figure 4.4
4.4.2 Median filtering
Figure 4.5
4.4.3 Rank filtering
4.4.4 Gaussian filtering
4.5 Filtering for edge detection (Book-2 + PPT)
4.5.1 Derivative filters for discontinuities (Book-2)
Table 4.1
4.5.2 First-order edge detection (Book-2)
Figure 4.9
4.5.2.1 Linearly separable filtering
4.5.3 Second-order edge detection
Chapter 8 : Image Compression and Watermarking (Book-3)
Fundamentals
Equation 8.2
Three principal types of Data redundancy-
- Coding redundancy
- Spatial and temporal redundancy
- Irrelevant information
Coding Redundancy
Exercise 8.1
Spatial and Temporal Redundancy
Histogram (Fig 8.2)
Irrelevant Information
Fig 8.3
Measuring Image Information
Equation 8.5, 8.6, 8.7
Exercise 8.2
Shanon's First Theorum
Equation 8.9, 8.10, 8.11
Example 8.3
Image Compression Models (i)
Figure 8.5
Image Formats, Containers, and Compression Standards
8.2 Huffman Coding
Slide: Huffman Coding
Example
YouTube ()
Chapter 10 : Image Segmentation (Book-3)
Segmentation Algorithm - two basic properties of image intensity
- Discontinuity
- Similarity
10.1 Fundamentals
Figure 10.1
10.2 Point, Line, and Edge Detection
Equation: 10.1-10.8
Table 10.1
Figure 10.2, 10.3
Equation: 10.12-10.15
Line Detection
Figure 10.5
Edge Models
Figure 10.8-10.10
Example: 10.4
Figure 10.11
Basic Edge Detection
Equation: 10.16-10.18
Gradient Operators
Equation: 10.19-10.20
Figure 10.13-10.16
More Advanced Techniques for Edge Detection
- The Marr-Hildreth Edge Detector
- The Canny Edge Detector
Chapter 12 : Image Pattern Classification (Book-3)
12.4 Pattern and Pattern Classes
Pattern Vectors
12.3 Pattern Classification by Prototype Matching
Minimum-Distance Classifier
Irish Dataset Visualizing \(\to\) Fig: 12.5
12.6 Deep Convolutional Neural Network
A Basic CNN Architecture
Figure: 12.42, 12.43
Neural Computations in a CNN
Figure: 12.45, 12.47, 12.49, 12.50, 12.51, 12.52
Md Mahbubur Rahman
Reference Books
- Zhigang Xiang, Roy A. Plastock - Schaum’s Outline of Computer Graphics (2nd Edition)
- Gonzales, Woods - Digital Image Processing (4th Edition)
Resource: Tpoint Tech
Mark Distribution
3 Sets
Slide: 19-33 Visual Computing (for idea only, irrelevant for exam)
Computer Graphics Tutorial
DPI \(\to\) Dot Per Inch
- Computer Graphics Tutorial
- Interactive and Passive Graphics
- Display Processor
- Cathode Ray Tube (CRT)
- Random Scan and Raster Scan Display
- Color CRT Monitors
- Direct View Storage Tubes
- Flat Panel Display
- Scan Conversion Definition
- Scan Converting a Point
- Scan Converting a Straight Line
- DDA Algorithm
- Bresenham's Line Algorithm
- Defining a Circle
- Defining a circle using Polynomial Method
- Defining a circle using Polar Co-ordinates
- Bresenham's Circle Algorithm
- MidPoint Circle Algorithm
- Scan Converting a Ellipse
- Polynomial Method
- Trignometric Method
- Ellipse axis rotation (X)
- Midpoint Ellipse Algorithm
- Introduction of Transformations
- Translation
- Scaling
- Rotation
- \(R_1 R_2 = R_2 R_1\) \(\star \star \star\)
- Reflection
- Shearing
- Matrix Representation of 2D Transformation
These topics are collected from others. I'm not totally sure of them.