matlab——提取图像中的腐蚀区域

形态学运算处理图像

资料来自《详解MATLAB图像函数及其应用》
作者:张倩,占君,陈珊
出版社:电子工业出版社
出版时间:2011-04

这是我对MTALAB图像处理整理出来的学习笔记,望与君共勉
采用部分只有代码,其他的我自己收集来的资料,萌新一枚,侵权即删
内容来自书的第十九章1483页的图像特征提取实战1

1.读取并显示图像

I=imread('1234.png');
figure(1);
imshow(I);
J=rgb2gray(I);
figure(2);
imshow(J);

imread函数

  • A=imread(filename,fmt)
    从指定的图像中读取灰度图像或真彩色图像
    filename表示文件名
    fmt表示文件类型

其他用语说明

  1. 灰度图像又名灰度数字图像
  • 每个像素只有一个采样颜色的图像
  • 这类图像通常显示为从最暗黑色到最亮的白色的灰度
  • 与黑白图像不同,黑白只有两种颜色,灰度图像在黑色与白色之间还有许多级的颜色深度
  1. 采样
  • 一个图像数据转换成若干个M*N数据块的过程
  • 就比如说一段模拟信号,我们要把连续的模拟量转化为数字量,如果我用0和1这两个数来记录,则可以把信号分为两部分,一个是0的部分,一个是1的部分,那这样就会有很大的失真
  • 为了减少对信号形状的影响,我们可以用0000这一串一个字节的数据来吧模拟信号的大小区分出区间来,比如果该段信号最高5V,最低0.1V
  • 我们把5到0V这一段长度分为16等分,最接近0的一份我们用0000来表示这段区间,最接近5的一份我们用1111来区分,于是把16个编码分配给了16个区间
  • 对于图像也同样如此,图像也是模拟信号,但电脑可以认识的是数字信号,也就是01010101这些东西,所以我们可以把一个图像分作多个数据块
  • 比如说JPEG图像编码的过程,把一个图像数据转换为若干个8*8数据块(block),每个数据块(block)中都有64个像素(pixel)
  • 所以采样这个过程中,输入的是一张图像数据,是模拟的量,输出的是若干个M*N数据块(block)
  1. 真彩色
  • 指图像中每个像素值都分成R、G、B三个基色分量,每个基色分量直接决定其基色的强度,然后产生的色彩成为真彩色

figure函数

  • 创建新的图形对象,在屏幕上单独显示的窗口,且窗口中可以输出图形
  • figure(H)
    创建一个句柄为H的图形窗口
    此处的句柄,从我自己的理解来说的话,也就是用来显示这是第几个图形窗口,或者这是你规定的哪一个图形窗口,一般都是数字
    个人认为与matlab内的函数句柄有相似的地方,但是比函书句柄更直观更好理解

imshow函数

  • imshow(I)
    显示灰度图像I
    I为矩阵,元素范围为[0 255]

rgb2gray函数

  • I=rgb2gray(RGB)
    将真彩色RGB图像或索引图像转换为灰度图像
    参量RGB是一个维数为MxNx3的数组,表示RGB图像

其他用语说明

  1. 索引图像
  • 一种直接把像素值作为RGB调色板下标的图像
  • 它包含了一个数据矩阵data和一个调色板矩阵map
  • 索引模式与灰度模式类似,每个像素点也有256中颜色容量,但索引模式可以负载彩色,灰度模式只能有256种颜色
  • 当图像转换成索引模式时,系统会自动根据图像上的颜色归纳出能代表大多数的256种颜色,就像一张颜色表,然后用256种颜色来代替图像上的所有颜色信息
  • 索引模式下的图像就像是一块块由小瓷砖拼成的,最多256种色彩带来了更小的文件体积
  • 这个模式下也有它的好处:它所形成的的每一个颜色都有其独立的索引标识,只要根据其索引标识,将图像重新识别,它的颜色就完全还原了
  • 主要用于网络上的图片传输和一些对图像像素、大小有严格要求的地方
  • 该图像内涵一个调色板,应该说这个调色板是在看待图像索引矩阵时才能用上的一个东西

2.对图像进行去噪声处理,初步提取图像特征

K=wiener2(J,[5 5]);
figure(3);
imshow(K);
M=im2bw(K,0.95);
figure(4);
imshow(M);

wiener2函数

  • J=wiener2(I,[m n],noise)
    对图像进行降噪处理
    m和n为标量,指定m x n邻域来估计图像均值和方差,默认为3x3
    noise为矩阵,表示指定噪声
  • [J,noise]=wiener2(I,[m n])
    对图像进行降噪处理
    m和n为标量,指定m x n领域来估计图像均值和方差,默认为3x3
    返回函数的估计噪声noise

im2bw函数

  • BW=im2bw(I,level)
    阈值法转换图像为二值图像
    将灰度图像I转换成二值图像BW
    level为阈值,即标准化灰度值,范围为[0 1]
    I中大于level的像素设为1(白色),小于的像素为0(黑色)

其他用语说明

  1. 阈值即临界值
  2. 二值图像
    指图像上每一个像素只有两种可能的取值或灰度等级状态,常称为黑白、B&W、单色图像
    其上像素点的灰度值均为0或255,0-黑-255-白

3.对图像进行形态学运算,提取图像中的腐蚀区域

se1=strel('disk',3);
L=imopen(M,se1);
figure(5);
imshow(L);
se=strel('disk',2);
N=imclose(L,se);
figure(6);
imshow(N);

strel函数

  • SE=strel(shape,parameters)
    创建形态学结构元素对象
    shape可是square方形,line线形,disk圆盘形,ball球形和rectangle长方形等
    parameters是对shape的大小描述
    此处为disk圆盘形,半径为3,下方为2

其他用语说明

  • 数学形态学涉及抑制噪声、特征提取、边缘检测、图像分割、形状识别、纹理分析、图像恢复与重建、图像压缩等图像处理问题

imopen函数

  • IM2=imopen(IM,SE)
    对图像进行形态学开运算
    对灰度图像或二值图像IM进行形态学开运算,返回开运算结果图像IM2
    SE为由strel函数生成的结构元素对象

其他用语说明

  1. 开运算
    被定义为先腐蚀后膨胀
    在计算机视觉和图像处理领域中是基本的形态学噪点消除模块
  2. 开运算总结:
  • 能够出去孤立的小点、毛刺和小桥,总的位置和形状不变
  • 是一个基于几何运算的滤波器
  • 结构元素大小的不同将导致滤波效果的不同
  • 不同的结构元素的选择导致了不同的分割,即提取出不同的特征
  • 人话:就有一点扫雷的感觉,以九宫格的中心点为标准,若存在相同的九宫格则先去除掉,只留下中心作为标记,然后再在有标记的地方放下和自己形状一样的九宫格,那些无法满足九宫格条件的毛刺就被去除了
  1. 闭运算
    被定义为先膨胀后腐蚀
  2. 闭运算总结
  • 能够填平小孔,弥合小裂缝,而总的位置和形状不变
  • 通过填充图像的凹角来滤波图像
  • 结构元素的大小不同将导致滤波效果的不同
  • 不同的结构元素的选择导致了不同的分割
  1. 腐蚀/膨胀
    数学形态学中两个基本算子之一,为二值图像定义的,之后被扩展到灰度图像以及完全格
  2. 结构元素
    用来进行腐蚀和膨胀的基本单元

imclose函数

  • IM2=imclose(IM,SE)
    对图像进行形态学闭运算
    对灰度图像或二值图像IM进行形态学闭运算,返回闭运算结果图像IM2
    SE为由strel函数生成的结构元素对象
发布了5 篇原创文章 · 获赞 0 · 访问量 75

猜你喜欢

转载自blog.csdn.net/qq_43600632/article/details/105436331