汉字特征提取代码Word文档格式.docx
- 文档编号:21407956
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:23
- 大小:51.58KB
汉字特征提取代码Word文档格式.docx
《汉字特征提取代码Word文档格式.docx》由会员分享,可在线阅读,更多相关《汉字特征提取代码Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
%******统计相邻像素由0到1的次数****************%
ifW(i,j)==0&
&
W(i,j+1)==1
%if(W(i,j)==0&
W(i,j+1)==1)||(W(i,j)==1&
W(i,j+1)==0)
shu(i)=shu(i)+1;
end
end
%***********heng
M
N-1
ifJ(i,j)==0&
J(i,j+1)==1
%if(J(i,j)==0&
J(i,j+1)==1)||(J(i,j)==1&
J(i,j+1)==0)
heng(i)=heng(i)+1;
%***********zu主对角线fliplr(A)左右颠倒
a1=diag(d,28);
a1=a1'
a2=diag(d,20);
a2=a2'
a3=diag(d,12);
a3=a3'
a4=diag(d,4);
a4=a4'
a5=diag(d,-4);
a5=a5'
a6=diag(d,-12);
a6=a6'
a7=diag(d,-20);
a7=a7'
a8=diag(d,-28);
a8=a8'
[m,n]=size(a1);
n-1
ifa1(1,i)==0&
a1(1,i+1)==1
zu
(1)=zu
(1)+1;
i=i+1;
[m,n]=size(a2);
ifa2(1,i)==0&
a2(1,i+1)==1
zu
(2)=zu
(2)+1;
[m,n]=size(a3);
ifa3(1,i)==0&
a3(1,i+1)==1
zu(3)=zu(3)+1;
[m,n]=size(a4);
ifa4(1,i)==0&
a4(1,i+1)==1
zu(4)=zu(4)+1;
[m,n]=size(a5);
ifa5(1,i)==0&
a5(1,i+1)==1
zu(5)=zu(5)+1;
[m,n]=size(a6);
ifa6(1,i)==0&
a6(1,i+1)==1
zu(6)=zu(6)+1;
[m,n]=size(a7);
ifa7(1,i)==0&
a7(1,i+1)==1
zu(7)=zu(7)+1;
[m,n]=size(a8);
ifa8(1,i)==0&
a8(1,i+1)==1
zu(8)=zu(8)+1;
%***********fu负对角线fliplr(A)左右颠倒
e=fliplr(d);
b1=diag(e,28);
b1=b1'
b2=diag(e,20);
b2=b2'
b3=diag(e,12);
b3=b3'
b4=diag(e,4);
b4=b4'
b5=diag(e,-4);
b5=b5'
b6=diag(e,-12);
a6=b6'
b7=diag(e,-20);
b7=b7'
b8=diag(e,-28);
b8=b8'
[m,n]=size(b1);
ifb1(1,i)==0&
b1(1,i+1)==1
fu
(1)=fu
(1)+1;
[m,n]=size(b2);
ifb2(1,i)==0&
b2(1,i+1)==1
fu
(2)=fu
(2)+1;
[m,n]=size(b3);
ifb3(1,i)==0&
b3(1,i+1)==1
fu(3)=fu(3)+1;
[m,n]=size(b4);
ifb4(1,i)==0&
b4(1,i+1)==1
fu(4)=fu(4)+1;
[m,n]=size(b5);
ifb5(1,i)==0&
b5(1,i+1)==1
fu(5)=fu(5)+1;
[m,n]=size(b6);
ifb6(1,i)==0&
b6(1,i+1)==1
fu(6)=fu(6)+1;
[m,n]=size(b7);
ifb7(1,i)==0&
b7(1,i+1)==1
fu(7)=fu(7)+1;
[m,n]=size(b8);
ifb8(1,i)==0&
b8(1,i+1)==1
fu(8)=fu(8)+1;
%heng
%shu
%zu
%fu
b=[hengshuzufu];
bi=b;
%%*******4维汉字外围轮廓特征横竖撇奈
functionlk=wwlk(a)
count=4;
feature=zeros(1,4);
%特征
%a=imread('
w.jpg'
%figure,imshow(d);
%%取出四块边界扫描笔画线
k1=d(1:
4,:
k2=d(61:
64,:
k3=d(:
1:
4);
k4=d(:
61:
64);
figure,imshow(k1);
figure,imshow(k2);
figure,imshow(k3);
k3=k3'
figure,imshow(k4);
k4=k4'
fori=1:
4
f1=0;
g1=0;
p1=0;
forj=1:
m-1
ifk1(i,j)==0&
k1(i,j+1)==1
feature
(1)=feature
(1)+1;
p1=p1+1;
f1=i;
g1=j;
iff1<
4&
g1>
0&
feature
(1)>
1&
(k1(f1+1,g1+1)==1)&
(k1(f1+1,g1)==0)
feature
(1)=feature
(1)-p1;
=1&
(k1(f1+1,g1-1)==0)&
(k1(f1+1,g1)==1)%%撇
(k1(f1+1,g1)==0)&
(k1(f1+1,g1+1)==1)%%捺
f2=0;
g2=0;
p2=0;
forj=1:
m-1
ifk2(i,j)==0&
k2(i,j+1)==1
feature
(2)=feature
(2)+1;
p2=p2+1;
f2=i;
g2=j;
iff2<
g2>
(feature
(2)>
=1)&
(k2(f2+1,g2+1)==1)&
(k2(f2+1,g2)==0)
feature
(2)=feature
(2)-p2;
feature
(2)>
(k2(f2+1,g2-1)==0)&
(k2(f2+1,g2)==1)%撇
(k2(f2+1,g2)==0)%捺
f3=0;
g3=0;
p3=0;
ifk3(i,j)==0&
k3(i,j+1)==1
feature(3)=feature(3)+1;
p3=p3+1;
f3=i;
g3=j;
iff3<
g3>
feature(3)>
(k3(f3+1,g3+1)==1)&
(k3(f3+1,g3)==0)
feature(3)=feature(3)-p3;
(k3(f3+1,g3)==1)&
(k3(f3+1,g3-1)==0)
(k3(f3+1,g3)==0)&
(k3(f3+1,g3+1)==1)
f4=0;
g4=0;
p4=0;
ifk4(i,j)==0&
k4(i,j+1)==1
feature(4)=feature(4)+1;
p4=p4+1;
f4=i;
g4=j;
iff4<
g4>
(feature(4)>
(k4(f4+1,g4+1)==1)&
(k4(f4+1,g4)==0)
feature(4)=feature(4)-p4;
feature(4)>
(k4(f4+1,g4-1)==0)&
(k4(f4+1,g4)==1)%%丿
(k4(f4+1,g4)==0)&
(k4(f4+1,g4+1)==1)%%捺
lk=feature;
%%汉字粗网格特征提取
functiongr=wgtzheng(a)
count=17;
feature=zeros(1,count);
feat=zeros(1,16);
c.jpg'
%imshow(d);
low=4;
%水平块数
row=4;
%垂直块数
ch=m/low;
%4
cw=n/row;
t1=(0:
low-1)*ch+1;
t2=(1:
t3=(0:
row-1)*cw+1;
t4=(1:
q=0;
low
row
temp=d(t1(i):
t2(i),t3(j):
t4(j));
feature((i-1)*row+j)=sum(sum(temp));
%统计这16个区域的白像素的个数,得到16个特征
q=q+feature((i-1)*row+j);
%feat((i-1)*row+j)=fact(temp);
feature(count)=sum(sum(d));
%图像全像素和
f=zeros(1,17);
17
f(i)=feature(i)/q;
gr=f;
汉字诗的四维外围特征:
对于诗的特征提取,得到53维的特征向量如下:
tz=
Columns1through8
1.00003.00001.00002.00003.00002.00002.00002.0000
Columns9through16
1.00001.00001.00001.00002.00005.00002.00001.0000
Columns17through24
5.00002.00002.00003.00003.00002.00003.00003.0000
Columns25through32
1.00001.00003.00002.00002.000001.00001.0000
Columns33through40
1.00002.00001.00001.00000.01630.00230.09900.0035
Columns41through48
0.04190.03610.10010.10590.08270.03960.09310.1094
Columns49through53
0.04190.08960.06290.07571.0000
汉字重构代码:
closeall;
clear;
A=imread('
ya.jpg'
figure,imshow(A);
title('
原字符图像'
%%%非线性字体大小归一化为24×
24点阵
A1=imresize(A,[2424]);
%%%二值化
A2=im2bw(A1,0.3);
figure,imshow(A2);
原字符图像二值化'
[m,n]=size(A2);
A4=A2;
A5=A2;
A6=A2;
A7=A2;
B1=[0,0,0;
1,1,1;
0,0,0];
fs1=zeros(24,24);
fs1=imerode(A4,B1);
B11=[0,0,0;
pz11=zeros(24,24);
fs11=imerode(fs1,B11);
pz11=imdilate(fs11,B11);
pz111=imdilate(pz11,B11);
figure,imshow(pz111);
横方向开运算'
%先腐蚀后膨胀
%%汉字单笔划变换
22
24
ifpz111(i,j)==0&
pz111(i+1,j)==1&
pz111(i+2,j)==1
pz111(i+1,j)=0;
figure,imshow(pz111);
横单笔化'
ifpz111(i+1,j+1)==1&
pz111(i,j)==1&
pz111(i+1,j+2)==1%%%左上相邻像素判别
pz111(i,j)=0;
pz111(i+1,j)=1;
pz111(i,j+2)==1%%%右上相邻像素判别
pz111(i,j+2)=0;
pz111(i+1,j+2)=1;
ifpz111(i,j+1)==1&
pz111(i,j+2)==1%%%左下相邻像素判别
pz111(i,j)=1;
pz111(i+1,j+2)==1%%%右下相邻像素判别
pz111(i,j+2)=1;
pz111(i+1,j+2)=0;
pz111(i,j+1)==1%%%正上方相邻像素判别
pz111(i,j+1)=0;
pz111(i,j)==1
pz111(i+1,j+1)==1%%%正下方相邻像素判别
pz111(i+1,j+1)=0;
pz111(i+1,j)==1
pz111(i,j)==0&
pz111(i+1,j)==0&
pz111(i,j+1)==0&
pz111(i+2,j)==0&
pz111(i,j+2)==0...
&
pz111(i+1,j+2)==0&
pz111(i+2,j+1)==0&
pz111(i+2,j+2)==0%%%消除孤立点
横单笔化修正'
B2=[0,1,0;
0,1,0;
0,1,0];
fs2=zeros(24,24);
%fori=1:
double(aver)
%fs2=imerode(A5,B2);
%end
fs2=imerode(A5,B2);
%figure,imshow(fs2);
竖方向笔划'
B21=[0,1,0;
pz21=zeros(24,24);
fs21=imerode(fs2,B21);
pz21=imdilate(fs21,B21);
pz211=imdilate(pz21,B21);
%figure,imshow(pz211);
竖方向开运算'
forj=1:
fori=1:
ifpz211(i,j)==0&
pz211(i,j+1)==1&
pz211(i,j+2)==1
pz211(i,j+1)=0;
竖单笔化'
ifpz211(i+1,j+1)==1&
pz211(i,j)==1&
pz211(i+2,j+1)==1%%%左上相邻像素判别
pz211(i,j)=0;
pz211(i,j+1)=1;
ifpz211(i+1,j)==1&
pz211(i+2,j)==1&
pz211(i,j+1)==1%%%右上相邻像素判别
pz211(i,j)=1;
ifpz211(i,j+1)==1&
pz211(i+1,j+1)==1&
pz211(i+2,j)==1%%%左下相邻像素判别
pz211(i+2,j)=0;
pz211(i+2,j+1)=1;
ifpz211(i,j)==1&
pz211(i+1,j)==1&
pz211(i+2,j+1)==1%%%右下相邻像素判别
pz211(i+2,j)=1;
pz211(i+2,j+1)=0;
pz211(i,j)==1%%%正左方相邻像素判别
pz211(i+1,j)==1
pz211(i+1,j)=0;
pz211(i+1,j+1)==1%%%正右方相邻像素判别
pz211(i+1,j+1)=0;
pz211(i,j+1)==1
pz211(i,j)==0&
pz211(i+1,j)==0&
pz211(i,j+1)==0&
pz211(i+2,j)==0&
pz211(i,j+2)==0...
pz211(i+1,j+2)==0&
pz211(i+2,j+1)==0&
pz211(i+2,j+2)==0%%%消除孤立点
pz211(i+1,j+1)=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汉字 特征 提取 代码