数字图像处理_实验报告书(六)分割
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
figure
imshow(a)
figure
subplot(2,2,1) imshow(bw1) xlabel('soble') subplot(2,2,2) imshow(bw2) xlabel('prewitt') subplot(2,2,3) imshow(bw3) xlabel('roberts') subplot(2,2,4) imshow(bw4) xlabel('log')
截图:
(2)编写MATLAB程序,用Hough变换对图像进行直线检测。
如例8.5所示。
程序:
I=imread('Peppers.bmp');
rotI=imrotate(I,33,'crop')
BW=edge(rotI,'log')
[H,T,R]=hough(BW)
P=houghpeaks(H,5,'threshold',ceil(0.3*max(H(:))));
x=T(P(:,2)); y=R(P(:,1));
lines=houghlines(BW,T,R,P,'FillGap',5,'MinLength',7);
figure,imshow(rotI),hold on
max_len=0;
for k=1:length(lines)
xy=[lines(k).point1;lines(k).point2];
plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green');
plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow');
plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red');
end
截图:
(3)编写MATLAB程序,对一幅图像进行基于形态学的边缘检测。
如例8.8所示。
程序:
BW1=imread('Lena.bmp');
figure
imshow(BW1)
SE=strel('arbitrary',eye(5));
BW2=imerode(BW1,SE);
figure
imshow(BW2)
BW3=imdilate(BW1,SE);
figure
imshow(BW3)
BW4=imopen(BW1,SE);
figure,imshow(BW4)
BW4=imclose(BW1,SE);
figure,imshow(BW4)
截图:
6、实验体会
通过本次实验,掌握图像分割的原理和方法,并通过实验体会主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响,为以后的课程打下了良好的基础。