我的图像中有四个正方形点,每个点有四个角点和其他内部点...
将每个标识为单独的正方形的最佳方法是什么,以便我可以将其单独处理为Mat或ROI?
它们可能会倾斜,因此2d中的边可能看起来不相等,但每个边的点数相同,并且每个边可以包含在4边多边形中。
我有这个:
http://i58.tinypic.com/wwdw0l.jpg
......我想谈谈这个问题:
http://i59.tinypic.com/2dm9gtl.jpg
非常感谢。c ++,visual studio,opencv
答案 0 :(得分:0)
首先,应检测小斑点,即通过cv::SimpleBlobDetector
类,
使用cv::kmeans()
查找blob群集的中心并对群集周围的blob进行分组,
最后,cv::minAreaRect()
会找到包围聚类2D点集的最小区域的旋转矩形。
答案 1 :(得分:0)
谢谢Kornel!查找轮廓,找到时刻,在中心点使用kmeans,如下所示:
http://answers.opencv.org/question/36751/kmeans-clustering-for-vectorpoint2f-data-structure/
并使用rotaterect来获取边缘。