RabbitMQ入门(三)订阅模式
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_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为:
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、总结
腐蚀可以用于滤波,选择适当的结构元素,可以滤掉所有不能完全包含结构元素的噪声点。但是在滤除噪声的时候,对前景图像的形状也会产生影响,尤其是形状边缘,但是当只关心物体的位置和个数时,就不用太考虑形状边缘的变化,可以使用腐蚀来滤除噪声。
尊重原创技术文章,转载请注明。
WeihanLi.Npoi 根据模板导出Excel