OpenCV如何实现腐蚀和膨胀

发布时间:2021-12-13 17:21:48 作者:小新
来源:亿速云 阅读:160

这篇文章将为大家详细讲解有关OpenCV如何实现腐蚀和膨胀,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

腐蚀和膨胀在图像处理中使用的也比较好,我们可以把腐蚀改叫为最小值滤波,把膨胀改叫为最大值滤波.

还是接我们原来的DEMO

在Clistitem类里加上腐蚀和膨胀两项

OpenCV如何实现腐蚀和膨胀

然后在加载的list里增加这两个项目

OpenCV如何实现腐蚀和膨胀

然后我们在ImgDealUtil类里面加上腐蚀和膨胀的方法

    //腐蚀和膨胀
    public static void erodOrDilate(String command, Bitmap bmp) {
        boolean erode = command.equals(Clistitem.IMAGE_ERODECOMMAND);
        Mat src = new Mat();
        Mat dst = new Mat();
        Utils.bitmapToMat(bmp, src);
        //结构元素,获取结构元素
        //Imgproc.MORPH_RECT设置我们的参数为矩型
        //new Size默认为3*3的效果
        //最后的Point-1,-1还是取的中心点
        Mat strElement = Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size(3, 3), new Point(-1, -1));
        if (erode) {
            Imgproc.erode(src, dst, strElement, new Point(-1, -1), 1);
        } else {
            Imgproc.dilate(src, dst, strElement, new Point(-1, -1), 1);
        }
        Utils.matToBitmap(dst, bmp);
        src.release();
        dst.release();
        strElement.release();
    }

OpenCV如何实现腐蚀和膨胀

最后我们在Mainactivity的按钮事件里面加上对这两个方法的调用

OpenCV如何实现腐蚀和膨胀

然后我们运行程序看看效果

OpenCV如何实现腐蚀和膨胀

原图

OpenCV如何实现腐蚀和膨胀

腐蚀-最小值滤化效果

OpenCV如何实现腐蚀和膨胀

关于“OpenCV如何实现腐蚀和膨胀”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

推荐阅读:
  1. 基于Qt的OpenGL可编程管线学习(10)- 膨胀与腐蚀
  2. 膨胀腐蚀对静态车辆检测

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

opencv

上一篇:OpenCV如何实现图像读写

下一篇:OpenCV中阈值二值化动态变化的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》