victorqribeiro / naiveCorners

A naive algorithm to identify corners on a image

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Naive Corners

A naive algorithm to find corners on a image.

detected

About

When I was still studying the basics of digital image processing I came up with this "algorithm" to detect corners on a image.

How it works

Well, as the name suggests, this is a very naive approach.

Given any image we will look at it a window of 3 by 3 at a time. (We could resize the image to speed up the process, but who's in a hurry?)

3x3 window.
grid

We will then just count how many colored pixels we have at that window. If there's 4 colored pixels, it must be a corner. In order to be considerated a valid neighbour, the color should be between some threshold. That would take care of anti-aliased borders.

Corner.
grid

Rotated corner.
rotated corner

Anything else, is not a corner.

Not a corner.
grid

Not a corner either.
grid

Comparison

Harris Corner Detection (OpenCV)
harris

Naives Corner Detection
naive

Harris Corner Detection is without a doubt faster and more efficient, it also works better than mine. Those are some reasons why I called mine naive.

See it working

Run by calling

python corner.py img/mess.png

I also used this algorithm to process corners on a real time webcam video.

About

A naive algorithm to identify corners on a image

License:MIT License


Languages

Language:Python 100.0%