OpenCV 中的边缘检测

Posted

技术标签:

【中文标题】OpenCV 中的边缘检测【英文标题】:Edge Detection in OpenCV 【发布时间】:2017-04-03 07:50:36 【问题描述】:

我们在 OpenCV java 中编写了用于边缘检测的代码,其中图像的背景将是纯白色以提高准确性。我们为边缘检测部分添加了以下功能:

Imgproc.GaussianBlur(im, im2, new Size(0,0), 10);       
Core.addWeighted(im, 1.5, im2, 0.5, 0.2, im); 

Imgproc.Canny(im, edges, 20, 100);

但是,边缘检测存在一些问题,因为即使背景中的其他点也显示为影响代码的边缘。有人可以告诉我一些改进,以便获得更准确的输出,请记住图像将从智能手机相机拍摄,因为这是我项目的前提。

【问题讨论】:

提供图片。除非不是纯白色,否则您无法检测纯白色背景上的边缘...为什么要应用大小为 0 的高斯模糊?这没有任何意义。 【参考方案1】:

您的问题非常不清楚,但我认为您是在问“如何去除二值图像中的噪点?”

如果这是您的问题,您可以尝试使用Eroding and Dilating 去除图像中的一些噪点。

如果你是 OpenCV 的初学者,我建议在这里阅读tutorials,当我开始使用 OpenCV 时,它们对我帮助很大

【讨论】:

以上是关于OpenCV 中的边缘检测的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV中的图像处理 —— 图像梯度+Canny边缘检测+图像金字塔

OpenCV--边缘检测

OpenCV边缘检测

利用OpenCV进行边缘检测

opencv边缘检测 不闭合

opencv边缘检测的入门剖析