• 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

                     

                    

                 

                  

                  

  • 相关阅读:
    javac不是内部或外部命令在win10上的解决方案
    HDU 6191 Query on A Tree(字典树+离线)
    hihoCoder #1558 : H国的身份证号码I
    HDU 6154 CaoHaha's staff(2017中国大学生程序设计竞赛
    湖南省第十二届省赛:Parenthesis
    POJ 3260 The Fewest Coins(完全背包+多重背包=混合背包)
    HDU 2923 Relocation(状压dp+01背包)
    HDU 2546 饭卡(01背包)
    HDU 1247 Hat’s Words(字典树)
    HDU 1711 Number Sequence(KMP)附带KMP的详解
  • 原文地址:https://www.cnblogs.com/zuoyou151/p/9642835.html
Copyright © 2020-2023  润新知