|

楼主 |
发表于 2023-5-22 20:41:46
|
显示全部楼层
- I_gray = rgb2gray(I);
- I_zone = (I(:,:,3)>100)&(I(:,:,1)<100)&(I(:,:,2)<100);
- se = strel('disk',3); %structure element结构元素
- I_zone1 = imerode(I_zone,se);%腐蚀
- I_zone2 = imdilate(I_zone1,se);%膨胀
- [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);
- I_bw = I_zone3 >150;
- I_bw1 = bwareaopen(I_bw,20);
- axes(handles.axes1);
- imshow(I_bw1,[]);
- line = 1;
- %获取汉字冀
- [line1,line2,line] = getEdge(line,I_bw1)
- I1 = I_bw1(:,line1:line2);
- axes(handles.axes2); imshow(I1,[]);
- %获取字母R
- [line1,line2,line] = getEdge(line,I_bw1)
- I2 = I_bw1(:,line1:line2);
- axes(handles.axes3); imshow(I2,[]);
- [line1,line2,line] = getEdge(line,I_bw1)
- I3 = I_bw1(:,line1:line2);
- axes(handles.axes4); imshow(I3,[]);
- [line1,line2,line] = getEdge(line,I_bw1)
- I4 = I_bw1(:,line1:line2);
- axes(handles.axes5); imshow(I4,[]);
- [line1,line2,line] = getEdge(line,I_bw1)
- I5 = I_bw1(:,line1:line2);
- axes(handles.axes6); imshow(I5,[]);
- [line1,line2,line] = getEdge(line,I_bw1)
- I6 = I_bw1(:,line1:line2);
- axes(handles.axes7); imshow(I6,[]);
- [line1,line2,line] = getEdge(line,I_bw1)
- I7 = I_bw1(:,line1:line2);
- axes(handles.axes8); imshow(I7,[]);
复制代码 |
|