1、2.膨胀Dilation:补两边 补左下图5-2 添上一层(漆)3.开运算open :4.闭close:5.HMT(Hit-Miss Transform:击中击不中变换)条件严格的模板匹配模板由两部分组成。:物体,:背景。图5-3 击不中变换示意图性质:(1)时,(2)6.细化/粗化(1)细化(Thin)去掉满足匹配条件的点。 图5-4 细化示意图系统细化,是旋转的结果(90,180,270)共8种情况适于细化的结构元素 (2)粗化(Thick)用时,故要选择合适的结构元素,如,对偶性:(验证一下)wherewhen7. Morphology小结A.通过物体(对象)和结构元素的相互作用,得到更
2、本质的形态(shape)(1) 图像滤波(2) 平滑区域的边界(3) 将一定形状施加于区域边界(4) 描述和定义图像的各种几何参数和特征(区域数、面积、周长、连通度、颗粒度、骨架、边界)B.形态运算是并行运算C.细化区域或边界变为1个象素的宽度,但它不破坏连通性四方向细化算法:逻辑运算(可删除条件)形态运算是否可用于细化?(1)腐蚀:收缩(去掉边缘的点)何时结束?能否保证连通性?(2)开:去毛刺,能否细化(去掉尺寸小于结构元素的块)三实验提示Matlab中用imdilate函数实现膨胀。用法为:Imdilate(X,SE).其中X是待处理的图像,SE是结构元素对象。例如:bw = imread
3、(text.png);se = strel(line,11,90);bw2 = imdilate(bw,se);imshow(bw), title(Original)figure, imshow(bw2), title(DilatedMatlab用imerode函数实现图像腐蚀。用法为:Imerode(X,SE).其中X是待处理的图像,SE是结构元素对象。如:I = imread(cameraman.tifball,5,5);I2 = imerode(I,se);imshow(I), title(figure, imshow(I2), title(ErodedMatlab用imopen函数实现
4、图像开运算。imopen(I,se);I为图像源,se为结构元素Matlab用imclosee函数实现图像闭运算。imclose(I,se);结构元素的选取:strel函数SE = strel(arbitrary,NHOOD)将NHOOD构造成你设定的矩阵;如将NHOOD写在1 1 1;1 1 1; 1 1 1diamond,R) 构造一个中心具有菱形结构的结构元素,R为跟中心点的距离rectangle,MN)构造一个矩形的结构元素,MN可写在3 4,表示3行4列square,W) 构造一个正方形的矩阵。计算二值图像面积bwarea功能:计算二进制图像对象的面积。语法:total = bwar
5、ea(BW)举例BW = imread(circles.pngimshow(BW);bwarea(BW)ans =15799bwmorph提取二进制图像的轮廓。BW2 = bwmorph(BW1,operation)BW2 = bwmorph(BW1,operation,n)BW1 = imread(imshow(BW1);BW2 = bwmorph(BW1,removeBW3 = bwmorph(BW1,skel,Inf);imshow(BW2)figure, imshow(BW3)四实验内容与要求1.设计程序实现对图5-5,实现去除图像中的噪声。2.设计程序,实现将图5-6转化为二值图像,
6、并计算图中鸡块中骨头的比重。3.设计程序,实现去除图5-7中的矩形区域外的噪声,并填充矩形区域内部了。提示:做题是把下面的图另存为单独的图像文件进行处理。 图5-5 图5-6 图5-7五、实验过程与结果1. 分别用Roberts,Sobel和拉普拉斯高斯算子对图像进行边缘检测。比较三种算子处理的不同之处代码:I=imread(test_pattern.tifsubplot(2,2,1);imshow(I),title(原图BW1=edge(I,robertssubplot(2,2,2);imshow(BW1),title(用Roberts算子BW2=edge(I,sobelsubplot(2,
7、2,3);imshow(BW2),title(用Sobel算子 BW3=edge(I,logsubplot(2,2,4);用拉普拉斯高斯算子 结果:(3) 比较Roberts算子:边缘定位准,但是对噪声敏感。适用于边缘明显且噪声较少的图像分割。Roberts边缘检测算子是一种利用局部差分算子寻找边缘的算子,Robert算子图像处理后结果边缘不是很平滑,会在图像边缘附近的区域内产生较宽的响应,边缘定位的精度不是很高。Sobel算子:算法的优点是计算简单,速度快。但是由于只采用了2个方向的模板,只能检测水平和垂直方向的边缘,因此这种算法对于纹理较为复杂的图像,其边缘检测效果就不是很理想。拉普拉斯:
8、对噪声敏感,会产生双边效果。不能检测出边的方向。通常不直接用于边的检测,只起辅助的角色,检测一个像素是在边的亮的一边还是暗的一边利用零跨越,确定边的位置。2. 设计一个检测图3-2中边缘的程序,要求结果类似图3-3,并附原理说明lines.pngF=rgb2gray(I);imshow(I);title(原始图像thread=130/255;imhist(F);直方图J2=im2bw(F,thread);imshow(J2);分割结果实验结果:(3)原理说明:根据图像的直方图,发现背景和目标的分割值在135左右,将此作为分割值,将图像转换为二值图像。3 任选一种阈值法进行图像分割:(1) 选取阈值为180进行分割:thread=180/255; %阈值为180进行分割实验结果:将阈值调节到180,明显的看到线条的边缘变得模糊,而背景的线条被消除。4 检测出3.3图像的线条,要求完成的结果为二值图像:line2.pngthread=120/255;说明:根据直方图,分割值在120左右,去120为分割线,得到以上分割结果。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1