首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓OpenCV边缘检测

安卓OpenCV边缘检测
EN

Stack Overflow用户
提问于 2012-03-21 21:11:02
回答 2查看 7.4K关注 0票数 1

我在安卓系统上使用OpenCV进行车牌识别。作为这个过程的一部分,我使用Canny边缘检测来找到图像中的边缘。我遇到的问题是图像中的水平边缘没有被检测为实线。问题是,因为线条不是实线,所以我无法将其检测为一条等高线

这是我正在运行边缘检测的图像

这是边缘检测的结果。正如您所看到的,车牌的垂直边缘被检测为实线,但水平边缘是虚线。

以下是我的代码

代码语言:javascript
复制
        org.opencv.imgproc.Imgproc.Canny(snapshot.getImage(), dst,
            Configurator.PlateDetectCannyThreshold1,
            Configurator.PlateDetectCannyThreshold2,
            Configurator.PlateDetectCannyApperture);
    List<Mat> contours = new Vector<Mat>();
    org.opencv.imgproc.Imgproc.findContours(dst, contours, new Mat(),
            org.opencv.imgproc.Imgproc.CV_RETR_LIST,
            org.opencv.imgproc.Imgproc.CV_CHAIN_APPROX_SIMPLE,
            new org.opencv.core.Point(0, 0));
EN

回答 2

Stack Overflow用户

发布于 2015-05-05 07:28:12

当我实现文档边缘检测时,我遇到了类似的问题,并使用Morphology扩展边缘以获得更好的检测:

代码语言:javascript
复制
 Mat kernel = Imgproc.getStructuringElement(Imgproc.MORPH_DILATE, new Size(3,3), new Point(1,1));
 Imgproc.dilate(mIntermediateMat, mIntermediateMat, kernel);
票数 2
EN

Stack Overflow用户

发布于 2012-05-18 04:09:50

一个快速而棘手的解决方案是使用形态闭合操作,如here所述。

形态闭合操作有助于填充小间隙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9805310

复制
相关文章

相似问题

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