• 图像腐蚀


    1、原理

    结构元素(Sturcture Element),形象称呼刷子,在每个像素位置上与二值图像对应的区域进行特定的逻辑运算。运算结构是输出图像的相应像素。运算效果取决于结构元素大小内容以及逻辑运算性质。

    对Z2上元素集合A和结构体元素S,使用S对A进行腐蚀,记作:

    AΘS={z|(S)z € A}

    让位于图像圆点的结构元素S在Z平面上移动,如果S的圆点移动到z点时,S能够完全的包含于A中,则认为这样的z点构成的集合是S对A的腐蚀图像。

    下图左侧是原图X,B是结构元素,右图是腐蚀的结果。腐蚀的方法是,拿B的中心点和X上的点一个一个地对比,如果B上的所有点都在X的范围内,则该点保留,否则将该点去掉;右边是腐蚀后的结果。可以看出,它仍在原来X的范围内,且比X包含的点要少,就象X被腐蚀掉了一层。图像腐蚀类似于“领域被蚕食”,将图像中的高亮区域或白色部分进行缩减细化,其运行结果图比原图的高亮区域更小。

    2、腐蚀的实现

    imgPath = 'E:opencv_picsrc_picpic1.bmp';
    img = imread(imgPath);
    img=rgb2gray(img);
    img = 255-img;
    se = strel('square', 3)
    img2 = imerode(img, se);
    subplot(1,2,1),imshow(img),title('原始图像');
    subplot(1,2,2),imshow(img2),title('腐蚀图像');

    参与计算的结构元素se为:

    se =

    Flat STREL object containing 9 neighbors.

    Neighborhood:

         1     1     1

         1     1     1

         1     1     1

    放大后可以看到,原始图像左上角第三列上方有一个5*5方块,下方有一个4*4的方块。腐蚀后变为右侧的图像。腐蚀前后方块的对比图如下。

     如果把结构元素改为5*5,se = strel('square', 5);则腐蚀图像没有左上角的白块。

     如果把结构元素改为10*10,se = strel('square', 10);则腐蚀图像文字变得非常纤细。

     

     3、总结

    腐蚀可以用于滤波,选择适当的结构元素,可以滤掉所有不能完全包含结构元素的噪声点。但是在滤除噪声的时候,对前景图像的形状也会产生影响,尤其是形状边缘,但是当只关心物体的位置和个数时,就不用太考虑形状边缘的变化,可以使用腐蚀来滤除噪声。 

    尊重原创技术文章,转载请注明。

    https://www.cnblogs.com/pingwen/p/12237881.html

  • 相关阅读:
    cURL(wget)—— 测试 RESTful 接口及模拟 GET/POST/PUT/DELETE/OPTIONS 请求
    docker 第一课 —— 从容器到 docker
    docker 第一课 —— 从容器到 docker
    多类 SVM 的损失函数及其梯度计算
    软RAID 0的技术概要及实现
    用 Linux blkid 命令查找块设备详情
    常用命令
    Ubuntu---samba(安装、配置、使用)***
    系统常用命令
    在64位的UBUBTU 服务器 ***
  • 原文地址:https://www.cnblogs.com/pingwen/p/12237881.html
Copyright © 2020-2023  润新知