我尝试使用Canny边缘检测算法来查找简单圆的边缘。
cv:: Canny()
该函数返回
cv::Mat edge
但我不知道如何使用这些" edge"。
我的目标是画出边缘"回到原始图像并读取该边缘内的信息(在这种情况下,边缘是圆圈)
我查看cv :: read函数,只找到不是边缘的drawContour函数。
而且我也不知道如何找到边缘的坐标,以便我可以对圆边的内部做一些事情。
我是openCV的新手,任何建议都表示赞赏。
答案 0 :(得分:1)
edges
是与源图片大小相同的数组(Mat),它包含Canny函数找到的边缘处的零像素和最大值(255)像素
您可以强调源图像的边缘(白色),使用bitwise_or
边缘操作(在我的身上)。或者将边缘转换为彩色图像以绘制颜色边缘。 Here是使用边作为蒙版的示例。
边缘是光栅结果。要获取一组细分,请使用edges
上的findContours函数,然后您可以使用drawContours
请注意,此信息可以很好地发布。
答案 1 :(得分:0)
您需要学习如何遍历cv :: Mat对象。 http://docs.opencv.org/2.4/doc/tutorials/core/how_to_scan_images/how_to_scan_images.html#the-efficient-way
此外,我建议你阅读本书学习opencv 的前几章来掌握这个库的基本用法,现在有第三版。您还可以在" InstallPath \ opencv \ sources \ samples"中找到许多示例。和官方教程:http://docs.opencv.org/2.4/doc/tutorials/tutorials.html