- I = imread('car.jpg');
- subplot(4,3,1); imshow(I);
- %灰度化
- I_gray = rgb2gray(I);
- subplot(4,3,2); imshow(I_gray);
- %I_zone = I(:,:,3)-I(:,:,1)-I(:,:,2);
- I_zone = (I(:,:,3)>100)&(I(:,:,1)<100)&(I(:,:,2)<100);
- subplot(4,3,3); imshow(I_zone,[]);
- se = strel('disk',3); %structure element结构元素
- I_zone1 = imerode(I_zone,se);%腐蚀
- I_zone2 = imdilate(I_zone1,se);%膨胀
- subplot(4,3,4); imshow(I_zone2,[]);
- [i,j] = find(I_zone2 == 1);
- left = min(j);
- right = max(j);
- upper = min(i);
- lower = max(i);
- I_zone3 = I_gray(upper:lower,left:right);
- subplot(4,3,5); imshow(I_zone3,[]);
- I_bw = I_zone3 >150;
- subplot(4,3,6); imshow(I_bw,[]);
- I_bw1 = bwareaopen(I_bw,20);
- subplot(4,3,7); imshow(I_bw1,[]);
- line = 1;
- %获取汉字冀
- [line1,line2,line] = getEdge(line,I_bw1)
- I1 = I_bw1(:,line1:line2);
- subplot(4,3,8); imshow(I1,[]);
- %获取字母R
- [line1,line2,line] = getEdge(line,I_bw1)
- I2 = I_bw1(:,line1:line2);
- subplot(4,3,9); imshow(I2,[]);
- [line1,line2,line] = getEdge(line,I_bw1)
- I3 = I_bw1(:,line1:line2);
- subplot(4,3,10); imshow(I3,[]);
- [line1,line2,line] = getEdge(line,I_bw1)
- I4 = I_bw1(:,line1:line2);
- subplot(4,3,11); imshow(I4,[]);
- [line1,line2,line] = getEdge(line,I_bw1)
- I5 = I_bw1(:,line1:line2);
- subplot(4,3,12); imshow(I5,[]);
- [line1,line2,line] = getEdge(line,I_bw1)
- I2 = I_bw1(:,line1:line2);
复制代码 |