数字图像处理笔记(6)

数学形态学处理


前言

  • 本篇博客整理了数字图像处理课程中课件第8章的知识笔记。
  • 相关材料见:DIP-Notes

知识网络图

1

其他重点参考

四种运算的性质

需注意的地方如下:

  • 腐蚀与膨胀

    • 腐蚀

    1

    • 膨胀

      用腐蚀和膨胀运算还可以实现图像的平移。如果在自定义结构元素时选择不在原点一个点作为结构元素,则得到的图像形状没有任何改变,只是位置发生了移动。

  • 开闭运算

    • 扩展性(收缩性):开运算恒使原图像缩小(去掉了图像的凸角),而闭运算恒使原图像扩大(填充了图像的凹角)。
    • 等幂性:开、闭运算的等幂性是一个有趣的性质,它意味着一次滤波就能把所有特定于结构元的噪声滤除干净作重复的运算不会再有效果。这是一个与中值滤波、线性卷积等经典方法不同的性质。

重点习题与解答

附件:数字图像处理:部分课后习题参考答案.doc.

第8章

  1. 画图。

    (1) 画出用一个半径为r/4的圆形结构元素膨胀一个半径为r的圆的示意图;

    (2) 画出用上述结构元素膨胀一个r×r的正方形的示意图;

    (3) 画出用上述结构元素膨胀一个侧边长为r的等腰三角形的示意图;

    (4) 将(1)、(2)、(3)中的膨胀改为腐蚀,分别画出示意图

  2. 编写一个完整的程序,实现二值图像的腐蚀、膨胀以及开和闭运算,并能对二值图像进行处理。

  3. 数学形态学的基本运算腐蚀、膨胀、开和闭运算是否有共同的性质?如果没有,说明原因;如果有,总结出它们有哪些共同的性质。

参考答案

  1. 见附件.

  2. matlab程序如下:

    bw0=imread('brain_surf_small.bmp');
    %变为阈值取为0.8的二值图像
    bw1=im2bw(bw0,0.8);
    figure(1);
    imshow(bw1);
    s=ones(3);
    bw2=imerode(bw1,s);
    figure(2);
    imshow(bw2);
    bw3=imdilate(bw1,s);
    figure(3);
    imshow(bw3);
    s1=strel('disk',2);
    bw4=imerode(bw1,s1);
    figure(4);
    imshow(bw4);
    bw5=imdilate(bw1,s);
    figure(5);
    imshow(bw5);
    
    %开闭运算:
    bw0=imread(' brain_surf_small.bmp ');
    %变为阈值取为0.7的二值图像
    bw1=im2bw(bw0,0.7);
    figure(1);
    imshow(bw1);
    s=ones(3);
    bw2=imopen(bw1,s);
    figure(2);               
    imshow(bw2);
    bw3=imclose(bw1,s);
    figure(3);
    imshow(bw3);
    s1=strel('disk',2);
    bw4=imopen(bw1,s1);
    figure(4);
    imshow(bw4);
    bw5=imclose(bw1,s1);
    figure(5);
    imshow(bw5);
    
  3. 对偶性、平移不变性(对图像平移再算子操作=对图像算子操作再平移)。