图像腐蚀

一、原理html

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

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

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

让位于图像圆点的结构元素S在Z平面上移动,若是S的圆点移动到z点时,S可以彻底的包含于A中,则认为这样的z点构成的集合是S对A的腐蚀图像。blog

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

二、腐蚀的实现it

imgPath = 'E:\opencv_pic\src_pic\pic1.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为:opencv

se =class

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);则腐蚀图像文字变得很是纤细。

 

 三、总结

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

 

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

http://www.javashuo.com/article/p-bobbxelg-et.html

相关文章
相关标签/搜索