o0o0o0o0o0o0o/image-processing-from-scratch
o0o0o0o0o0o0o/image-processing-from-scratch has 1,089 GitHub stars and 299 forks. GitHot measured 0 stars in 24 hours and -2 in 7 days. Last checked 2026-11-11 00:28 UTC. Last push 2024-02-13.
This project contains some interesting image processing algorithms that were wrote in python and c++ from scratch.
Measured star growth
- in 24h
- 0
- in 7 days
- -2
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalimage processing from scratch
what is this?
This repository contains many interesting image processing algorithms that are written from scratch. Read these codes will allow you to have a comprehensive understanding of the principles of these algorithms.
Implementation
All codes were wrote in python3.7 or c++
moudles you may need:
python:
- numpy for matix calculation
- matplotlib for reading and showing images
- opencv2 for some image operations
c++:
- opencv2
Usage
you can always run a python script just bypython script.py
for c++, you need to compile firstcd buildcmake ..make
when it's done, you are ready to run the executable file by./program_name parameters
Just make sure you have the images in the right path, and you might wanna modify the code a bit to process another image.
Have fun!
Contents
canny edge detection
It is an algorithm that extracts edges of an image.hough transform
It is an algorithm that can theoratically detects shapes that you can write formulas for it.harris corner detection
This algorithm detects corners.fast fourier transform
2-D fourier transform for images using fft.sift
Scale-invariant feature transform, a well-known technique to extract feature points for image matching. Now added c++ version along with SURF and ORB.KNN
Using balanced K-D tree to find k nearest neighbors of K-dimension points.PCA&SVD
Do PCA and SVD using jacobi rotation.(which is accurate but slow)Ransac
Stitch different images together after knowing the sift keypoint pairs.watershed
watershed segmentation algorithm.meanshift
meanshift segmentation algorithm.generalized hough transform
template match of images, detects a given template in an query image. The vote space is implemented with a sparse vector to support big images.closed-form image matting
a classic image matting algorithm proposed in A Closed-Form Solution to Natural Image Mattinghaze removal
Using dark channel prior and fast guided filter proposed in Single Image Haze Removal Using Dark Channel Prior and Fast Guided Filtera lot to be continued...
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
561,908 starspublic-apis/public-apis
A collective list of free APIs
498,301 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
453,150 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,369 stars