使用openCV

时间:2017-09-27 10:45:24

标签: opencv image-processing edge-detection corner-detection

我是图像处理新手,希望有人可以帮助/指导我朝正确的方向发展。

所以我有一张黑/白的照片,我想找到preprocessed picture内黑部分的角坐标。我的问题是什么样的方法会产生最准确的结果?

我想要this之类的东西(红点表示内角)

3 个答案:

答案 0 :(得分:0)

我不知道你使用的是什么语言,这使得回答这个问题变得更难,但我最后一次使用它的方式是应用openCV的canny edge detection algorithm。这允许您查看图像上的边缘。下一个find the contours。通过这两个功能以及您朋友Google的一些帮助,您将能够解决这个问题。祝你好运!

答案 1 :(得分:0)

cv::goodFeaturesToTrack()一起玩params,直到得到你的结果。

你可以参考这个为什么选择这个而不是cornerHarris:goodFeaturesToTrack vs cornerHarris

以及此SO答案的示例:opencv-using-cvgoodfeaturestotrack-with-c-mat-variable

当然我假设你使用的是C ++,如果你使用的是python它不会改变很多......

运气好,并在下次询问之前尝试进行搜索

答案 2 :(得分:0)

其中一个方法是在X和Y(原始图像)中独立使用sobel。因为你已经只有二进制文件才能找到内边缘,这很容易。

然后可以对这些边进行采样 - 获取边缘的几个点。在OpenCV库函数cv::fitLine的帮助下找到边缘线。对所有内边缘执行相同操作并计算交叉点。这种方法应该相当准确,因为从fitLine函数开始,你基本上可以计算出子像素精度的角点。