- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我面临一些有关图像边缘检测的一般问题(该图像应该与我的问题无关)。
我希望 canny 边缘检测器忽略某个像素值。例如:如果灰度值不为0,它应该只寻找边缘。否则将检测到“假边缘”。
我通常使用 cv2.canny 函数,它运行得非常快而且效果很好。问题是,它不可定制。因此,我采用了自定义 Canny 边缘检测器 ( https://rosettacode.org/wiki/Canny_edge_detector#Python ) 的代码来对其进行自定义。它可以工作,但计算边缘的速度太慢(需要几分钟,而 cv2.canny 函数只需要几分之一秒)。这是我的第一个问题。
是否有另一种方法可以使 cv2.canny 函数“忽略”特定值的像素。想象一下图片中的某个地方有一个充满黑色的区域(如下图所示)。我不希望边缘检测器检测到该黑色区域的边缘。
提前致谢
最佳答案
这是一种方法:
使用快速 OpenCV 函数照常计算 Canny。
现在找到图像中的所有黑色像素 - 您可以使用 _,thr = cv2.threshold(im,1,255,cv2.THRESH_BINARY)
并将这些区域扩大 1具有形态的像素,允许边缘像平常一样稍微偏移。
将正常的 Canny 图像与您创建的蒙版相乘,以便在黑色区域中找到的任何内容都会乘以零,即丢失。
关于python - 有关(精明)边缘检测的一般问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57593926/
我面临一些有关图像边缘检测的一般问题(该图像应该与我的问题无关)。 我希望 canny 边缘检测器忽略某个像素值。例如:如果灰度值不为0,它应该只寻找边缘。否则将检测到“假边缘”。 我通常使用 cv2
我正在学习 opencv 并阅读一本书并遵循示例。书中介绍了canny过滤器。但是我的输出有一些问题。作为输入图像,我给出了 512x512 灰度图像,但滤波器输出是纯灰度图像。这是图片: 这是输入图
我正在编写以下代码: #include #include #include #include using namespace std; using namespace cv; int main
我是一名优秀的程序员,十分优秀!