如何针对低分辨率/模糊素材优化 OpenCV 的 Canny 边缘检测

Posted

技术标签:

【中文标题】如何针对低分辨率/模糊素材优化 OpenCV 的 Canny 边缘检测【英文标题】:How can I optimize OpenCV's Canny edge detection for low resolution/blurry footage 【发布时间】:2016-10-18 12:50:47 【问题描述】:

我有低分辨率的模糊灰度图像,并且针对它运行精明的边缘检测不会产生任何结果(黑色图像)。这是图像的示例:

是否有一种(相对简单/快速)的方法来为 canny 准备图像或使用任何其他 OpenCV 算法在模糊图像上表现更好?

感谢您的帮助。

【问题讨论】:

试试this。 【参考方案1】:

您需要更宽的高斯滤波器。并且阈值需要设置得更低。如果您使用我的二进制图像库中的例程,它在源代码中可用,因此您可以看到调整参数的效果。 Canny source

【讨论】:

谢谢。我从未将 opencv 作为 c 代码运行。总是通过 python 绑定。我如何在 python 中或独立使用你的 c 代码。抱歉这个新手问题...感谢您的帮助。 我不知道如何扩大 OpenCV 中的高斯分布,但您可以像 Malcolm McLean 所说的那样简单地降低阈值。我得到了这样的结果(postimg.org/image/ykc7lwlyz),edges = cv2.Canny(img,10,30)。 太棒了!谢谢。出于某种原因,我在测试这些值时犯了一个错误,它并没有给我带来好的结果。现在我重新启动,你的价值观完美运作。非常感谢!!

以上是关于如何针对低分辨率/模糊素材优化 OpenCV 的 Canny 边缘检测的主要内容,如果未能解决你的问题,请参考以下文章

低分辨率背景显得模糊

pr画质模糊怎么办

OpenCV金字塔图像分辨率重建与融合

如何在opencv中检测仅包含文本的图像是不是模糊

使用OpenCV在图像和视频流中执行基于深度学习的超级分辨率

OpenCV——基础集锦