MachineVision is a specialized repository focused on the field of Artificial Intelligence (AI) applied to Computer Vision. It enables computers and systems to derive meaningful information from digital images and other visual inputs to drive decision-making in automation and engineering environments.
This project documents the evolution of feature extraction and image processing algorithms, transitioning from research prototypes in MATLAB and high-level industrial implementations in C# (.NET 10) using OpenCV (OpenCvSharp4).
- Languages: C#, Python, MATLAB.
- Libraries: OpenCvSharp4, ML.NET, Scikit-learn.
- Core Concepts: Bag of Visual Words (BoVW), SIFT/SURF, HOG, Max Pooling.
MACHINEVISION/
├── bin/Debug/net10.0/ # Binaries and test images (hog.PNG, SURF.PNG)
├── Max Pooling/
│ └── 2D Max Pooling.cs # Manual implementation of spatial downsampling
├── Scene Recognition/
│ ├── Extraction_Setup.cs # ML.NET pipeline for image classification
│ ├── hog_svm.m # MATLAB prototype (HOG-based)
│ └── surf_svm.m # MATLAB prototype (SURF-based)
├── Visual Words/
│ ├── Bag of Visual Words.ipynb # Research and Prototyping (Python)
│ ├── train/ & test/ # Training and validation datasets
│ └── sift_keypoints.jpg # Visual descriptor verification
├── MachineVision.csproj # NuGet dependency and project configuration
├── Program.cs # Main entry point (Unified Pipeline)
└── README.md # Project documentation