zoukankan      html  css  js  c++  java
  • Java基于opencv实现图像数字识别(五)—腐蚀、膨胀处理

    腐蚀:去除图像表面像素,将图像逐步缩小,以达到消去点状图像的效果;作用就是将图像边缘的毛刺剔除掉

    膨胀:将图像表面不断扩散以达到去除小孔的效果;作用就是将目标的边缘或者是内部的坑填掉

    使用相同次数的腐蚀和膨胀,可以使目标表面更平滑;但也有场景限制,就是如果去噪不干净的话,会出现意想不到的结果,尽量别使用

    大概的效果,适合降噪比较干净的图
    腐蚀和膨胀

    // 图像腐蚀/膨胀处理
    public void erodeImg() {
    	Mat outImage = new Mat();
    
    	// size 越小,腐蚀的单位越小,图片越接近原图
    	Mat structImage = Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size(5, 2));
    
    	/**
    	 * 图像腐蚀
    	 * 腐蚀说明: 图像的一部分区域与指定的核进行卷积,
    	 * 求核的最`小`值并赋值给指定区域。
    	 * 腐蚀可以理解为图像中`高亮区域`的'领域缩小'。
    	 * 意思是高亮部分会被不是高亮部分的像素侵蚀掉,使高亮部分越来越少。
    	 */
    	Imgproc.erode(mat, outImage, structImage, new Point(-1, -1), 2);
    	mat = outImage;
    
    	/**
    	 * 膨胀
    	 * 膨胀说明: 图像的一部分区域与指定的核进行卷积,
    	 * 求核的最`大`值并赋值给指定区域。 
    	 * 膨胀可以理解为图像中`高亮区域`的'领域扩大'。
    	 * 意思是高亮部分会侵蚀不是高亮的部分,使高亮部分越来越多。
    	 */
    	Imgproc.dilate(mat, outImage, structImage , new Point(-1, -1), 2);
    	mat = outImage;
    
    }
    

    本文章参考了很多博客,感谢;主要是跟着一个博客来实现的https://blog.csdn.net/ysc6688/article/category/2913009 感谢

  • 相关阅读:
    php解析XML的两种方法
    Windows下xampp搭配php环境以及mysql的设置和php连接Mysql数据库
    管道
    Ubuntu文件系统
    Ubuntu如何使用Vscode写C++代码
    Ubuntu如何百度云盘下载
    Debug程序的使用
    寄存器
    汇编指令
    汇编第二章_寄存器
  • 原文地址:https://www.cnblogs.com/qjmnong/p/9233671.html
Copyright © 2011-2022 走看看