首页 > 解决方案 > 如何在Java OpenCV中删除轮廓内的轮廓?

问题描述

我正在尝试在速度标志上运行 OCR。我得到如下轮廓:

    静态 ArrayList<MatOfPoint> getContours(Mat fgMask) {
        ArrayList<MatOfPoint> 轮廓 = new ArrayList<>();
        浮动阈值 = 100.0f;
        垫 cannyOutput = new Mat();
        Imgproc.Canny(fgMask, cannyOutput, 阈值, 阈值 * 3);
        垫层级=新垫();
        Imgproc.findContours(cannyOutput, 轮廓, 层次结构, RETR_TREE, CHAIN_APPROX_SIMPLE);
        层次结构.释放();
        返回轮廓;
    }

但有时,我会在 0 中检测到 0。如您在此处看到的:

在此处输入图像描述

我知道我们可以使用分层垫来做我想做的事。我只是不明白如何在Java中做到这一点。

这是python中的解决方案

标签: javaandroidopencv

解决方案


推荐阅读