我是图像处理新手,希望有人可以帮助/指导我朝正确的方向发展。
所以我有一张黑/白的照片,我想找到preprocessed picture内黑部分的角坐标。我的问题是什么样的方法会产生最准确的结果?
我想要this之类的东西(红点表示内角)
答案 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函数开始,你基本上可以计算出子像素精度的角点。