使用OpenCV检测网格节点(或使用其他东西)

Max*_*nko 10 python opencv pattern-recognition

我在照片上有一个网格(它们来自相机).二值化后,它们看起来像这样(红色是255,蓝色是0): 格

在这些图片上检测网格节点(十字架)的最佳方法是什么?注意:网格不一致地从一个单元变为另一个单元.

更新:

二值化之前不同网格和其他扭曲的一些示例: 在此输入图像描述

在此输入图像描述

在此输入图像描述

Hib*_*yda 1

我想这可能是一个潜在的答案(实际上在评论中提到):http://opencv.itseez.com/2.4/modules/imgproc/doc/feature_detection.html ?highlight=hough#houghlinesp

还可以通过其他方式使用 skimage 工具进行特征检测。

但实际上我认为霍夫变换可能会导致巨大的膨胀和缺乏精度(直线),我建议尝试哈里斯角点检测 - http://docs.opencv.org/2.4/doc/tutorials/features2d /trackingmotion/harris_detector/harris_detector.html

这可以根据您的具体问题进一步调整(交叉角,因此局部最大值应取决于交叉角的分布)。然后可以根据得到的点进行一些曲线近似。