zoukankan      html  css  js  c++  java
  • 2.2腐蚀与膨胀

    形态学操作 

                  基于形状的一系列图像处理操作,通过将结构元素作用于输入图像来产生输出图像。

                  最基本的两种形态学操作:腐蚀(Erosion)与膨胀(Dilation)

                  应用:消除噪声

                             分割独立的图像元素,以连接相邻的元素

                             寻找图像中明显的极大值区域与极小值区域

                  以以下图片为例:

    膨胀

               将此图像A与任意形状的内核B(通常为正方形或圆形)进行卷积

               内核B有一个可定义的锚点,通常定义为内核中心点。

               进行膨胀操作时,将内核B划过图像,将内核B覆盖区域的最大像素提取,并代替锚点位置

              的像素。这一操作将会导致图像中的亮区开始扩展

     腐蚀

                 提取内核覆盖下像素的最小值

                 将内核B划过图像,将内核B覆盖区域的最小像素值提取,并代替锚点位置的像素。

      

       函数

       erode(src,dst,element)

       src:输入图像

       dst:输出图像

       element:输入操作的内核,如果不指定默认为3*3的内核,否则,需要明确指定它的形状。可以使用函数

                     getStructureElement(erosion_type,

                                                      Size(2*erosion_size+1,2*erosion_size+1),

                                                      Point(erosion_size,erosion_size))

                       内核可以选择以下三种之一:矩形 MORPH_RECT

                                                                      交叉形MORPH_CROSS

                                                                      椭圆形MORPH_ELLIPSE

    #include <opencv2/opencv.hpp>
    #include <iostream>
    #include<windows.h>
    using namespace std;
    using namespace cv;
    
    int main()
    {
        Mat src = imread("D:\Pic\1.jpg");  //存放自己图像的路径 
        Mat erosion_dst, dilation_dst;
        Mat element = getStructuringElement(MORPH_RECT, Size(3, 3), Point(1, 1));
        erode(src, erosion_dst, element);
        dilate(src, dilation_dst, element);
        namedWindow("Image", CV_WINDOW_AUTOSIZE);
        namedWindow("Erosion Demo", CV_WINDOW_AUTOSIZE);
        namedWindow("Dilation Demo", CV_WINDOW_AUTOSIZE);
        imshow("Image", src);
        imshow("Erosion Demo", erosion_dst);
        imshow("Dilation Demo", dilation_dst);
        waitKey(0);
        system("pause");
        return 0;
    }
    View Code

                     

                    

                 

                  

                  

  • 相关阅读:
    PHP中使用CURL实现GET和POST请求
    PHP 正则表达式匹配函数 preg_match 与 preg_match_all
    微信跳转黑科技:微信跳转技术让微信电商从此不缺流量
    PHP通过get方法获得form表单数据方法总结
    php获取微信基础接口凭证Access_token
    PHP命名空间与自动加载类详解
    PHP如何搭建百度Ueditor富文本编辑器
    PHP调用微博接口实现微博登录的方法示例
    PHP常用日期加减计算方法实例
    微信公众平台---带参数二维码生成和扫描事件
  • 原文地址:https://www.cnblogs.com/zuoyou151/p/9642835.html
Copyright © 2011-2022 走看看