Skip to content

A C++ project exploring core image processing techniques, including histogram manipulation, color transformations, frequency filtering, convolution, morphology, edge detection, and shape recognition. Per

Notifications You must be signed in to change notification settings

rachida-saroui/image-processing-cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Image Processing in C++

This repository contains a series of image processing exercises implemented in C++. These exercises cover fundamental techniques and operations in image processing, such as color space transformations, histogram modifications, frequency domain filtering, convolution, morphological operations, and shape analysis.

Project Structure

The project is organized into several exercises, each focusing on a different aspect of image processing:

  1. Color Spaces and Histograms
    • Implement 1D histogram analysis, color space transformations (RGB, HSV, Lab), and pixel detection based on color characteristics.
  2. Histogram Modification
    • Perform histogram stretching and equalization to enhance image contrast, with a discussion on the advantages and limitations of each method.
  3. Frequency Domain Representation
    • Apply Fast Fourier Transform (FFT) for frequency analysis, and implement low-pass and high-pass filtering for image enhancement.
  4. Convolution and Image Filtering
    • Implement convolution operations and Gaussian filtering to highlight image features.
  5. Classification
    • Apply k-means clustering for pixel classification within images, identifying regions based on color similarity.
  6. Mathematical Morphology
    • Implement erosion and dilation operations to modify image structure, ideal for noise reduction and structure enhancement.
  7. Connected Component Labeling
    • Label connected components within an image to segment distinct regions.
  8. Edge Detection
    • Use gradient norm and Laplacian zero-crossing methods to detect image edges.
  9. Shape Analysis and Road Sign Recognition
    • Use contour signatures, compacity, and Hough transformations to recognize shapes such as circles and polygons, enabling basic object recognition.
  10. Counting Buildings from Aerial Images
    • Use HSV color filtering, morphological operations, and contour detection to identify and count building rooftops in aerial images.

About

A C++ project exploring core image processing techniques, including histogram manipulation, color transformations, frequency filtering, convolution, morphology, edge detection, and shape recognition. Per

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages