问题补充说明:用MATLAB来测量这个零件的内径外径。具体要怎么做呀先读取图像,再灰度,然后二值化,然后边缘检测吗?上面这些要怎么利用MATLAB语句来做呀
做个例子,希望有所帮助。代码:来自clc;clear360问答all;closeall;
Img=imread('c:\\ce.jpg');%载入图像%灰度化
ifndims(Img别区没较血)==3
I=rgb2gray(Img);
el布围座兰鱼任镇se
I=Img;
endIg=rgb2hsv(相张而西斤Img);
s=Ig(:,:,2);bw=im2bw(s,0.55);%二值化
bw1=imclose(bw,strel('disk',5));
bw1=imf评打希降光保北ill(bw1,'holes');figure;
subplot(2,2,1);imshow(Img,[]);title('原货振侵草图像');
subplot(2,2,2);imshow(I生,[]);title('灰度图像')坏错;
subplot(2,2,3);imshow(s,[]);
subplot(2,2,4);imshow(bw1,[]);
B=bwb信层烟值江办二在持oundaries(bw1);
boundary=B{1};
subplot(2,2,1);holdon;
plot(boundary(:,2),...
boundary(:,1),'g','LineWidth'布春识答坐减作罪重,2);[L,n百原um]=bwlabel(bw1);
stats=regionprops(L);
rectangle('position',stats.BoundingBox,'EdgeColor','r','LineWidth',2); 结果:
标签:matlab,图像处理