\text{Image Processing}
\textbf{Naresh Kumar Devulapally}
\text{CSE 4/573: Computer Vision and Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}
\text{Lectures 4: June 5, 2025}
\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
  • What are images?
    • Basic Transformations on Grayscale and RGB images
  • Recap of transformations
    • Affine Transformations
  • Image Transformations
  • Introduction to Convolution Operation
  • Is image a function?
  • Image convolution
    • Different kernels
  • Intro to packages for image transformations

\( \text{Agenda of this Lecture:}\)

\text{June 5, 2025}
\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}

This lecture is best scenario for the Live Code feature

\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}

Recap: What is an Image?

\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}

Recap: What is an Image?

A numpy array

\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}
\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}
\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}
\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}
\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}

Play around with the live code in the course website

\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}
\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}
\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}
\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}
\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}

Transformations on grayscale images

\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}
\begin{align*} % Rotation around Z-axis by angle ψ \text{(1) Rotate around Z-axis by } \psi: \quad \begin{bmatrix} x' \\ y' \\ z' \end{bmatrix} &= \underbrace{ \begin{bmatrix} \cos \psi & \sin \psi & 0 \\ -\sin \psi & \cos \psi & 0 \\ 0 & 0 & 1 \end{bmatrix}}_{R_z(\psi)} \begin{bmatrix} X \\ Y \\ Z \end{bmatrix} = R_z(\psi) \begin{bmatrix} X \\ Y \\ Z \end{bmatrix} \\[1em] % Rotation around Y-axis by angle θ \text{(2) Rotate around Y-axis by } \theta: \quad \begin{bmatrix} x'' \\ y'' \\ z'' \end{bmatrix} &= \underbrace{ \begin{bmatrix} \cos \theta & 0 & -\sin \theta \\ 0 & 1 & 0 \\ \sin \theta & 0 & \cos \theta \end{bmatrix}}_{R_y(\theta)} \begin{bmatrix} x' \\ y' \\ z' \end{bmatrix} = R_y(\theta) \begin{bmatrix} x' \\ y' \\ z' \end{bmatrix} \\[1em] % Rotation around X-axis by angle φ \text{(3) Rotate around X-axis by } \phi: \quad \begin{bmatrix} x''' \\ y''' \\ z''' \end{bmatrix} &= \underbrace{ \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos \phi & \sin \phi \\ 0 & -\sin \phi & \cos \phi \end{bmatrix}}_{R_x(\phi)} \begin{bmatrix} x'' \\ y'' \\ z'' \end{bmatrix} = R_x(\phi) \begin{bmatrix} x'' \\ y'' \\ z'' \end{bmatrix} \end{align*}

https://mathworld.wolfram.com/RotationMatrix.html

\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}

Interpolation

Bilinear interpolation

\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}

Inpainting

\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}

Convolution (Signal Processing)

\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}

Convolution (Pixel domain)

\text{Image Processing}
\text{Naresh Kumar Devulapally}
\text{CSE 4/573: CVIP, Summer 2025}
\text{June 5, 2025}

Convolution (grayscale images)

Use code in the course website to test various kernels

Lecture 4: Image Processing (Image Transformations)

By Naresh Kumar Devulapally

Lecture 4: Image Processing (Image Transformations)

  • 202