Skip to content

Bravee9/Computer-Vision-MAT3562

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 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. Topics range from pixel-level operations to frequency-domain analysis, geometric transformations, morphological operations, color processing, feature detection, segmentation, and deep learning (CNN, transfer learning).

Each lab includes:

  • Jupyter Notebook — fully documented implementations (NumPy from-scratch + OpenCV)
  • LaTeX Report — theory, experiments, and analysis (where applicable)
  • 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, mini-project: enhancement pipeline
04 Geometric Transformations Translation, scaling, rotation, shearing — forward & inverse mapping
05 Morphological Operations Erosion, dilation, opening, closing — binary & grayscale morphology
06 Region-Based Segmentation Region growing, split & merge, watershed
07 Edge-Based Segmentation Active contours, graph cuts
08 Color Image Processing HSV, Lab, color thresholding & segmentation
09 Color Spaces & Chromaticity RGB, XYZ, CIE xy, white balance
10 HOG Features Histogram of Oriented Gradients, rotation sensitivity
11 Local Features & Matching Harris, SIFT, Lowe ratio, RANSAC homography
12 CNN & Deep Segmentation Custom CNN, pretrained comparison, transfer learning, FCN, instance seg demos

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)

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/ … lab-05/    Fundamentals (histogram, conv, FFT, geometry, morphology)
├── lab-06/ … lab-11/    Segmentation, color, HOG, local features
└── lab-12/              CNN, transfer learning, segmentation
    ├── lab12_BuiQuangChien_23001837.ipynb
    ├── binary_cnn.ipynb
    ├── CNN_multiclass_Keras.ipynb
    ├── lab12_pretrained_comparison.ipynb
    ├── image_segmentation.ipynb
    ├── lab12_cheatsheet.tex
    └── docs/              Lab PDFs (CNN, fine-tuning, segmentation)

Lab 12 data: giải nén data/CNN_MultiClass_data.rar vào data/multiclass/ trước khi chạy notebook multiclass.


Tech Stack

Category Tools
Language Python 3
Core Libraries NumPy, OpenCV, scikit-image, Matplotlib
Deep Learning TensorFlow, Keras, PyTorch
Environment Jupyter Notebook, Google Colab
Documentation LaTeX, Markdown

Quick Start

pip install numpy opencv-python scikit-image matplotlib jupyter tensorflow keras torch torchvision
jupyter notebook lab-12/lab12_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