Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Detect grid nodes using OpenCV (or using something else)

I have a grid on pictures (they are from camera). After binarization they look like this (red is 255, blue is 0): grid

What is the best way to detect grid nodes (crosses) on these pictures? Note: grid is distorted from cell to cell non-uniformly.

Update:

Some examples of different grids and thier distortions before binarization: enter image description here

enter image description here

enter image description here

like image 687
Max Tkachenko Avatar asked Aug 14 '16 17:08

Max Tkachenko


1 Answers

I suppose that this can be a potential answer (actually mentioned in comments): http://opencv.itseez.com/2.4/modules/imgproc/doc/feature_detection.html?highlight=hough#houghlinesp

There can also be other ways using skimage tools for feature detection.

But actually I think that instead of Hough transformation that could contribute to huge bloat and and lack of precision (straight lines), I would suggest trying Harris corner detection - http://docs.opencv.org/2.4/doc/tutorials/features2d/trackingmotion/harris_detector/harris_detector.html .

This can be further adjusted (cross corners, so local maximum should depend on crossy' distribution) to your specific issue. Then some curves approximation can be done based on points got.

like image 176
Hibryda Avatar answered Nov 09 '22 01:11

Hibryda