gpt4 book ai didi

python - OpenCV Python Canny 边缘检测是否应该根据图像大小给我非常不同的结果?

转载 作者:太空宇宙 更新时间:2023-11-03 21:10:31 26 4
gpt4 key购买 nike

我正在从视频帧导入图像,使用 cv2.resize() 将图像放大 4 倍,然后使用 Canny 边缘检测来帮助去除一些噪声,然后再进行一些对象跟踪。然而,Canny 边缘检测一直给我一个黑色图像。

经过大量测试后,我发现使用 cv2.resize() 可以在 Canny 边缘检测得到我希望的结果之前将图像大小减小到 1/4。将图像尺寸缩小到 1/3 也给我带来了更好的结果,但边缘比缩小到 1/4 时更少,而将图像缩小到 1/16 比缩小到 1/4 得到的边缘更多。为什么会这样?实际上,在写这个问题时,我正在调整未缩放结果的大小,我发现调用 namedWindow 和 cv.WINDOW_NORMAL 也改进了它。

我意识到我可以简单地缩小比例,运行 Canny 检测,然后放大 Canny 边缘检测的结果并进行我的对象跟踪,但这让我感到困惑,知道为什么会发生这种情况对我自己和我来说很有趣也为他人着想。我在 opencv 文档中找不到任何内容表明 Canny 算法依赖于图像大小。

见下图,全部由 output = cv2.Canny(input, 30, 50) 生成:

未缩放(通过使用 cv.WINDOW_NORMAL 改进) https://i.imgur.com/uG93Dhd.png

在 Canny 检测之前减少了 1/4 https://i.imgur.com/dQP9bxB.png

在 Canny 检测之前减少了 1/3 https://i.imgur.com/MkSpaT5.png

1/16 在 Canny 检测之前减少 https://i.imgur.com/SbpPkYP.png

最佳答案

通过调整大小,您可以更改要素的大小。但由于您不更改过滤器大小,因此结果会有所不同。您实际上是在探索尺度空间。

另请注意,resize 函数不会对图像进行预过滤并导致混叠。

关于python - OpenCV Python Canny 边缘检测是否应该根据图像大小给我非常不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52452155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com