MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   计算机视觉/图像处理 (https://www.labfans.com/bbs/forumdisplay.php?f=67)
-   -   [问题] MATLAB在文字识别中笔画密度特征提取时的弹性网格怎么编写 (https://www.labfans.com/bbs/showthread.php?t=20813)

jinshi 2015-05-09 14:55

MATLAB在文字识别中笔画密度特征提取时的弹性网格怎么编写
 
我用的是MATLAB R2012b win7 64bit。我要识别的是一种象形文字,处理的思路是把图像灰度化、二值化处理之后,再找出图像的轮廓,最后用几条平均间距或者不平均间距的横线和竖线去切割图像,并记录和图像的交点数。已经编写到能够找出图像轮廓,求大神帮忙,如何处理切割图像和记录交点数。已编写的代码如下:
i=imread('3_10.png');
i1=rgb2gray(i);%i1灰度图像
i2=im2bw(i1);% i2是二值图像,不需要求阈值
[m,n]=size(i2); % 读取多少行多少列
% 矩阵取值

leftj=0; %寻找图像中的文字最左端
for j=1:n
for i=1:m
if(i2(i,j)==0)
leftj=j;
break;
end
end
if(leftj>0)
break;
end

end

rightj=0;%寻找图像中的文字最右端
for j=n:-1:1
for i=1:m
if(i2(i,j)==0)
rightj=j;
break;
end
end
if(rightj>0)
break;
end
end

upi=0;%寻找图像中的文字最上端
for i=1:m
for j=1:n
if(i2(i,j)==0)
upi=i;
break;
end
end
if(upi>0)
break;
end

end

downi=0;%寻找图像中的文字最下端
for i=m:-1:1
for j=1:n
if(i2(i,j)==0)
downi=i;
break;
end

end
if(downi>0)
break;
end
end

newi=i2(upi:downi,leftj:rightj)


所有时间均为北京时间。现在的时间是 21:24

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.