Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Finding cross on the image

I have set of binary images, on which i need to find the cross (examples attached). I use findcontours to extract borders from the binary image. But i can't understand how can i determine is this shape (border) cross or not? Maybe opencv has some built-in methods, which could help to solve this problem. I thought to solve this problem using Machine learning, but i think there is a simpler way to do this. Thanks!

Cross on binary image

cross on binary image 2

like image 701
Alex Hoppus Avatar asked Nov 09 '12 19:11

Alex Hoppus


1 Answers

Viola-Jones object detection could be a good start. Though the main usage of the algorithm (AFAIK) is face detection, it was actually designed for any object detection, such as your cross.

The algorithm is Machine-Learning based algorithm (so, you will need a set of classified "crosses" and a set of classified "not crosses"), and you will need to identify the significant "features" (patterns) that will help the algorithm recognize crosses.

The algorithm is implemented in OpenCV as cvHaarDetectObjects()

like image 171
amit Avatar answered Sep 30 '22 05:09

amit