%% 字符分割
I_VER_JZ_S = handles.chepaiyu;
thresh = handles.chepaiyuT;
I_1=rgb2gray(I_VER_JZ_S);
K=im2bw(I_1,thresh);
[kuan,chang]=size(K);
[x,y]=find(K==1)
a1=length(x);
[x,y]=find(K==0)
b1=length(y);
if a1>b1
K1=K;=0); %找到跳变的前边缘
else
K1=K;
end
[a b] = size(K1);
sumK = sum(K1);
%寻找阈值
T=2;
myb = find(sumK>=T); %所在的列为myb
myf = zeros(1,length(myb)); %大于阈值的列的数目
for ii = 2:length(myb)
if myb(ii)-myb(ii-1)==1
myb(ii-1) = 0; %myb不为0的点位跳变的前边缘_index
else
myf(ii) = myb(ii); %myf不为0的点对应跳变的后边缘_index
end
end
myd = find(myb
MYE = myb(myd); %对应列号
myh = find(myf~=0); %找到跳变的后边缘
myi = myf(myh);
MYB = [1 myi];
for ii = 1:length(MYE)
part=sumK(1,MYB(ii):MYE(ii))
sumP=sum(part,2)
end
count = 1;
for ii = 1:length(MYE)
part1=sumK(1,MYB(ii):MYE(ii))
sumP1=sum(part1,2)
if sumP1(1)> (chang*kuan)*0.02
switch count
case 1
axes(handles.axes9);
case 2
axes(handles.axes12);
case 3
axes(handles.axes13);
case 4
axes(handles.axes14);
case 5
axes(handles.axes15);
case 6
axes(handles.axes16);
otherwise
axes(handles.axes17);
end
imshow(K1(:,MYB(ii):MYE(ii)));
images_test1 = imresize(K1(:,MYB(ii):MYE(ii)),[24 12]);
images_test(:,count) = double(reshape(images_test1,288,1));
count = count+1;
end
end
handles.testnum = images_test;
guidata(hObject, handles);