用opencv识别点的正方形

Identifying squares of dots with opencv

本文关键字:正方形 识别 opencv      更新时间:2023-10-16

我有一个图像,其中有四个正方形的点,每个正方形有四个角点和其他内部点。。。

将每个正方形识别为单独的正方形,以便我可以将其单独处理为Mat或ROI的最佳方法是什么?

它们可能是倾斜的,因此2d中的边看起来可能不相等,但每个边都有相同数量的点,并且每个边都可以包含在四边形中。

我有这个:

http://i58.tinypic.com/wwdw0l.jpg

我想找到这个:

http://i59.tinypic.com/2dm9gtl.jpg

非常感谢。

c++,visual studio,opencv

  1. 首先,应该检测小斑点,即通过cv::SimpleBlobDetector类、

  2. 使用cv::kmeans()来寻找团簇的中心并将团簇周围的团簇分组,

  3. 最后,cv::minAreaRect()将找到包围聚类的2D点集的最小区域的旋转矩形。

谢谢Kornel!查找轮廓,查找力矩,在中心点上使用kmeans,详细信息如下:

http://answers.opencv.org/question/36751/kmeans-clustering-for-vectorpoint2f-data-structure/

并使用旋转镜获取边缘。