Need help with image-processing-from-scratch?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

o0o0o0o0o0o0o
373 Stars 133 Forks MIT License 39 Commits 3 Opened issues

Description

This project contains some interesting image processing algorithms that were wrote in python and c++ from scratch.

Services available

!
?

Need anything else?

Contributors list

No Data

image 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. I also have video tutorials for these algorithms here. Go check out if you know Chinese :-)

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 by

python script.py

for c++, you need to compile first

cd build

cmake ..

make

when it's done, you are ready to run the executable file by

./Main

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.

  • 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.

  • a lot to be continued...

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.