Skip to content

nguyenpd-vincent/VisionFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📸 Vision Image Processing Pipeline

A modular computer vision pipeline implemented in Python, demonstrating classical image processing techniques using OpenCV and NumPy. This project is designed to process raw images through a customizable sequence of transformations to reduce noise, enhance contrast, and extract structural features.

🚀 Features

  • Noise Reduction: Selectable Gaussian, Median, and Bilateral filtering techniques.
  • Contrast Enhancement: Global Histogram Equalization and Adaptive Equalization (CLAHE).
  • Feature Extraction: High-performance Canny edge detection for boundary identification.
  • Configurable Pipeline: Easy-to-tune hyperparameters via a central config.yaml and CLI overrides.

🔄 System Architecture

The image processing flow follows a sequential design, representing a fundamental preprocessing stage for advanced CV systems:

Input ImageDenoisingContrast EnhancementEdge DetectionVisualization & Export

⚙️ Installation

  1. Clone the repository:
    git clone https://github.com/nguyenpd-vincent/VisionFlow.git
    cd VisionFlow
  2. Create and activate a virtual environment (Recommended):
    python -m venv venv
    source venv/bin/activate  # On Windows use: venv\Scripts\activate
  3. Install dependencies:
    pip install -r requirements.txt

▶️ Usage

Run the pipeline using the default configuration file:

python main.py --config config.yaml

Process a specific image on the fly via the CLI:

python main.py --image resources/sample.jpg

Run test:

.venv/bin/pip install pytest && .venv/bin/pytest tests  

Output:
The script displays a side-by-side visual comparison and saves processed images (denoised, enhanced, and edge-extracted) to the results/ directory.

📁 Project Structure

vision-image-processing/
├── src/
│   ├── pipeline.py       # Orchestration logic
│   ├── filters.py        # Noise reduction implementations
│   ├── histogram.py      # Contrast enhancement operations
│   └── edge.py           # Feature extraction
├── resources/            # Sample inputs
├── results/              # Processed outputs
├── main.py               # Application entry point
├── config.yaml           # Pipeline hyperparameters
└── requirements.txt      # Project dependencies

About

A modular Computer Vision image processing pipeline built with OpenCV and Python for denoising, contrast enhancement, and edge detection.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages