Skip to content

Bravee9/Computer-Vision-MAT3562

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Computer Vision — MAT3562E

Hanoi University of Science, VNU | 2025–2026

Python OpenCV NumPy scikit--image Jupyter LaTeX


Overview

Hands-on computer vision labs covering image processing fundamentals through advanced techniques — from pixel-level operations to frequency-domain analysis, geometric transformations, and morphological processing.

Each lab includes:

  • Jupyter Notebook — fully documented implementations (NumPy from-scratch + OpenCV)
  • LaTeX Report — theory, experiments, and analysis
  • Cheatsheet — quick-reference for key functions and formulas

Labs

Lab Topic Key Techniques
01 Histogram & Point Processing Histogram equalization, gamma correction, log transform, thresholding
02 Arithmetic, Logical Ops & 2D Convolution Image arithmetic, Otsu thresholding, custom convolution kernel
03 Spatial & Frequency Domain Processing DFT/FFT, ideal LP/HP filters, Gaussian/median denoising, Canny edge detection, mini-project: image enhancement pipeline
04 Geometric Transformations Translation, scaling, rotation, shearing — forward & inverse mapping
05 Morphological Operations Erosion, dilation, opening, closing — binary & grayscale morphology

Highlights

From-Scratch Implementations

  • 2D convolution with zero-padding (NumPy) — verified against cv2.filter2D
  • Morphological erosion/dilation from scratch
  • Forward & inverse geometric mapping

End-to-End Mini-Project (Lab 03)

Two parallel image enhancement pipelines handling different noise types:

Noisy Image → Denoise → Sharpen → Edge Detect
Stage Gaussian Noise Pipeline Salt & Pepper Pipeline
Denoise GaussianBlur (5×5) MedianBlur (5×5)
Sharpen Unsharp masking Unsharp masking
Edge Detect Canny (30/80) Canny (30/80)

Project Structure

├── lab-01/          Histogram & point processing
│   ├── lab01_BuiQuangChien_23001837.ipynb
│   ├── lab01_report.tex
│   ├── important_functions_cheatsheet.md
│   └── Data/
├── lab-02/          Arithmetic, logical ops & convolution
│   ├── lab02_arithmetics_logical_operations.ipynb
│   ├── lab02_report.tex
│   ├── lab02_cheatsheet.tex
│   └── data/
├── lab-03/          Spatial & frequency domain + mini-project
│   ├── lab_03_spatial_frequency.ipynb
│   ├── lab03_report.tex
│   ├── lab03_cheatsheet.{md,tex}
│   └── data/
└── lab-04-05/       Geometric transforms & morphology
    ├── lab_04_Geometric_Transformations.ipynb
    └── lab_05_morphology_operation.ipynb

Tech Stack

Category Tools
Language Python 3
Core Libraries NumPy, OpenCV, scikit-image, Matplotlib
Environment Jupyter Notebook, Google Colab
Documentation LaTeX (custom templates), Markdown

Quick Start

pip install numpy opencv-python scikit-image matplotlib jupyter

Open any notebook:

jupyter notebook lab-01/lab01_BuiQuangChien_23001837.ipynb

Author

Bùi Quang Chiến — MSSV 23001837
Computer Science, Hanoi University of Science — VNU

GitHub LinkedIn

About

Course materials from VNU University of Science, Hanoi — Computer Vision (MAT 3562E) — Academic Year 2025–2026. Labs covering image processing, spatial & frequency domain, geometric transformations, and morphological operations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors