首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于(canny)边缘检测的一般问题

关于(canny)边缘检测的一般问题
EN

Stack Overflow用户
提问于 2019-08-21 14:26:09
回答 1查看 518关注 0票数 1

对于图像中的边缘检测,我面临一些一般的问题(图像应该与我的问题无关)。

  1. 我想让精明的边缘检测器忽略某个像素值。例如:只有当灰度值不是0时,它才应该寻找边缘。否则就会检测到“假边”。 我通常使用cv2. cv2.canny函数,它运行得很快而且很好。问题是,它是不可定制的。因此,我采用了自定义canny边缘检测器(detector#Python)的代码来定制它。它可以工作,但计算边沿的速度太慢了(这需要几分钟,而cv2.canny函数只需一秒钟)。这是我的第一个问题。 是否有另一种方法使cv2.canny函数“忽略”certein值的像素。想象一下,在图片中的某个地方是一个充满黑色的区域(在下面的图片中)。我不想让边缘探测器探测到这个黑色区域的边缘。

  1. 一旦我在我的图像中检测到一些清晰的边缘,我想要创建基于这些边缘的面具。我在网上找不到这方面的例子。因此,如果有人知道在哪里找到一个很好的教程,如何从边缘创建面具,这将是伟大的,如果你可以帮助我。

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2019-08-21 15:35:57

下面是一个方法:

  • 像往常一样使用快速OpenCV函数计算Canny。
  • 现在,定位图像中的所有黑色像素--您可以使用_,thr = cv2.threshold(im,1,255,cv2.THRESH_BINARY)来实现这一点,并通过形态学将这些区域扩展为1个像素,这样就可以像通常情况下那样稍微偏移边缘。
  • 将正常的Canny图像与您创建的掩码相乘,这样它在黑色区域中找到的任何东西都会被乘以零,即丢失。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57593926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档