机器视觉实验报告3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五图像的分割与边缘提取
一、实验内容
1.图像阂值分割
实验代码:
clear all, close all;
I=imread('flower.tif');
figure(1),imshow(I)
figure(2); imhist(I)
T=120/255;
Ibw1=im2bw(I,T);
figure(3);
subplot(1,2,1), imshow(Ibw1);
T=graythresh(I);
L=uint8(T*255)
Ibw2=im2bw(I,T);
subplot(1,2,2), imshow(Ibw2);
help im2bw;
help graythresh;
运行结果:
实验代码:
clear all, close all;
I=imread('flower.tif');
figure(1),imshow(I)
figure(2); imhist(I)
T=240/255;
Ibw1=im2bw(I,T);
figure(3);
subplot(1,2,1), imshow(Ibw1); T=graythresh(I);
L=uint8(T*255)
Ibw2=im2bw(I,T);
subplot(1,2,2), imshow(Ibw2); help im2bw;
help graythresh;
运行结果:
2.边缘检测
实验代码:
clear all, close all;
I=imread('flower.tif');
BW1=edge(I,'sobel');
BW2=edge(I,'canny');
BW3=edge(I,'prewitt');
BW4=edge(I,'roberts');
BWS=edge(I,'log');
figure(1), imshow(I), title('Original Image'); figure(2), imshow(BW1), title('sobel');
figure(3), imshow(BW2), title('canny');
figure(4), imshow(BW3), title('prewitt');
figure(5), imshow(BW4), title('roberts');
figure(6), imshow(BWS), title('log');
%在完成上述试验后,查看函数edge()使用说明。help edge
运行结果:
3.灰度阂值分割:
实验代码:
I=imread('649.jpg'); I=rgb2gray(I);
I2=im2bw(I); figure,imshow(I2);
I2=im2bw(I,140/255); figure,imshow(I2)
运行结果:
4.区域分割法
实验代码:
I=imread('649.jpg');
I=rgb2gray(I);
imshow(I)
c=[222 272 300 270 221 194]; r=[21 21 75 121 121 75];
BW=roipoly(I,c,r);
figure,imshow(BW)
H=fspecial('unsharp');
J1=roifilt2(H,I,BW);
figure,imshow(J1)
J2=roifill(I,c,r);
figure,imshow(J2)
运行结果:
5. 分水岭分割法
实验代码:
f=imread('649.jpg'); imshow(f);
g=im2bw(f, graythresh(f)); figure,imshow(g);
gc=~g;
D=bwdist(gc);
L=watershed(-D);
w=L==0;
g2=g&~w;
figure,imshow(g2)
运行结果:
实验六图像形态学运算1.
实验代码:
I=imread('649.jpg');
level = graythresh(I);
bw = im2bw(I,level);
SE = strel('square',3);
BW1 = imdilate(bw,SE);
SE1 = strel('arbitrary',eye(5));
BW2 = imerode(bw,SE1);
BW3 = bwmorph(bw, 'open');
BW4 = bwmorph(bw, 'close');
imshow(I);
figure,imshow(bw);
figure,imshow(BW1);
figure,imshow(BW2);
figure,imshow(BW3);
figure,imshow(BW4);
运行结果: