all projects

Jupyter Notebook · from GitHub

Lab Activities of the course Image processing and computer vision (ISE-2505)

This repository contains the laboratory sheets, source code, and resources for the course ISE----: Image Processing and Computer Vision. The materials demonstrate fundamental techniques in computer vision using Python and OpenCV, ranging from basic image manipulation to advanced feature detection.

loading 3D scene…

WebGL · move your cursor

  • Jupyter Notebook

// readme

FromtheREADME

01

Course Overview

The primary goal of this course is to provide practical experience with digital image processing techniques. The labs are structured as Jupyter Notebooks, each focusing on a specific domain of computer vision, such as enhancement, filtering, segmentation, and feature extraction.

02

Repository Structure

The coursework is divided into 9 Laboratory Sheets:

Lab SheetTopicDescription
Lab 01Introduction to OpenCVBasics of reading, writing, and displaying images; understanding image data structures and color spaces.
Lab 02Image EnhancementTechniques to improve image quality, including brightness/contrast adjustment, histogram equalization, and contrast stretching.
Lab 03Geometric TransformationsApplying affine transformations such as rotation, translation, scaling, and warping using cv2.warpAffine.
Lab 04Edge DetectionImplementation of edge detection algorithms including Sobel, Prewitt, and Canny edge detectors.
Lab 05Frequency Domain ProcessingIntroduction to the Discrete Fourier Transform (DFT), Fast Fourier Transform (FFT), and frequency filtering.
Lab 06Image PyramidsConstruction of Gaussian and Laplacian pyramids for multi-scale image representation (pyrUp, pyrDown).
Lab 07Morphological OperationsProcessing binary images using erosion, dilation, opening, closing, and morphological gradients.
Lab 08Image SegmentationTechniques for separating objects from the background using global, binary, and adaptive thresholding.
Lab 09Feature Detection & MatchingAdvanced feature extraction using algorithms like SIFT (Scale-Invariant Feature Transform) and ORB (Oriented FAST and Rotated BRIEF).

Resources

  • images/: Contains sample images used throughout the labs (e.g., lena.jpeg, flower-binary.png, colored-balls.jpg) for testing algorithms.

03

🛠️ Prerequisites & Technology Stack

To run the notebooks in this repository, you need the following software and libraries installed:

  • Python 3.11
  • Jupyter Notebook or JupyterLab

Required Python Libraries:

  • opencv-python (cv2)
  • numpy
  • matplotlib

04

⚙️ Installation

  1. Clone the repository:

    git clone [https://github.com/your-username/image-processing-and-computer-vision.git](https://github.com/your-username/image-processing-and-computer-vision.git)
    cd image-processing-and-computer-vision
    
  2. Create a virtual environment (Optional but Recommended):

    python -m venv venv
    # Windows
    venv\Scripts\activate
    # macOS/Linux
    source venv/bin/activate
    
  3. Install dependencies:

    pip install opencv-python numpy matplotlib jupyter
    

05

🚀 Usage

  1. Launch Jupyter Notebook from the terminal:
    jupyter notebook
    
  2. Navigate to the specific lab you wish to explore (e.g., Labsheet04.ipynb).
  3. Execute the cells sequentially to visualize the image processing techniques.

Note: Ensure the images/ directory is in the same path as the notebooks so that cv2.imread() can locate the sample files.