日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MATLAB印刷体汉字识别

發布時間:2023/12/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MATLAB印刷体汉字识别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MATLAB印刷體漢字識別

一、課題研究的意義

漢字已有數千年的歷史,是中華民族文化的重要結晶,閃爍著中國人民智慧的光芒。同時也是世界上使用人數最多和數量最多的文字之一。現如今,漢字印刷材料的數量大大增加,一些專業單位所接觸的印刷材料更是浩如煙海,信息量均是爆炸性增長。然而,漢字是非字母化、非拼音化的文字,因此,如何將漢字快速高效地輸入計算機,是信息處理的一個關鍵問題,也是關系到計算機技術能否在我國真正普及的關鍵問題,更是傳播與弘揚中華民族悠久歷史文化的關鍵問題。而且隨著勞動力價格的升高,利用人工方法進行漢字輸入也將面臨經濟效益的挑戰。因此,對于大量已有的文檔資料,漢字自動識別輸入就成為了最佳的選擇。因此,漢字識別技術也越來越受到人們的重視。漢字識別是一門多學科綜合的研究課題,它不僅與人工智能的研究有關,而且與數字信號處理、圖像處理、信息論、計算機科學、幾何學、統計學、語言學、生物學、模糊數學、決策論等都有著千絲萬縷的聯系。一方面各學科的發展給它的研究提供了工具;另一方面,它的研究與發展也必將促進各學科的發展。因而有著重要的實用價值和理論意義。

二、算法流程



圖1-1漢字識別流程框圖

三、識別過程



圖2-3 標準圖像




圖2-4 標準圖像轉灰度圖像



圖2-5 標準圖像均值濾波圖像



圖2-6 標準圖像二值化圖像



圖2-7 標準圖像識別結果


通過對標準圖像識別學習訓練,然后對輸入亂序圖像(見圖2-8)進行識別,過程中轉灰度(見圖2-9),均值濾波(見圖2-10),二值化(見圖2-11),識別結果(見圖2-12)。




圖2-8 亂序圖像



圖2-9 亂序圖像轉灰度圖像



圖2-10 亂序圖像均值濾波圖像



圖2-11 亂序圖像二值化圖像



圖2-12 亂序圖像識別結果


由以上實驗結果可以看出,當輸入標準圖像,經過轉灰度,均值濾波,二值化,識別輸出。然后,輸入亂序圖像在經過轉灰度,均值濾波,二值化,特征提取,匹配識別后,系統能夠將亂序圖像中的圖像識別輸出。說明系統基本實現預先設想的功能,能夠在學習標準圖像識別后建立標準庫,并根據標準字庫與以后輸入的圖像進行匹配識別輸出。但由于系統比較簡單,實現的功能也比較單一,要想實現較完備功能還需進一步完善。




四、源碼




%亂序圖像識別:


load bp;

G=imread('');%讀取

I=rgb2gray(G);

%--------轉灰度圖象

B1=filter2(fspecial('average',3),I)/255;

%以[3,3]為模板均值濾波

%--------均值濾波

d=im2bw(B1,;

%--------二值

k1=1;k2=1;s=sum(d');j=2;a=1;c=1

[m, n]=size(d');

while s(j)==m

j=j+1;

end

k1=j;

while s(j)~=m && j<=n-1

j=j+1;

end

k2=j-1;

d=d((k1:k2),:);

%--------行分割

[m,n]=size(d);

k1=1;k2=1;s=sum(d);j=2;a=1;c=1

for a=1:16

while s(j)==m

j=j+1;

end

k1=j;

while s(j)~=m && j<=n-1

j=j+1;

end

k2=j-1;

%--------列分割

if c==1

b1=d(:,(k1:k2));

imwrite(b1,'');

t1=tezhengtiqu(b1);

P_test = [t1'];

y = sim(net,P_test);

%用訓練出來的神經網絡計算數據的第%P_test行

word=jieguoxianshi(y)

end

%--------第1個字符

if c==2

b2=d(:,(k1:k2));

imwrite(b2,'');

t2=tezhengtiqu(b2);

%用十三點特征提取法提取特征

P_test = [t2];

y = sim(net,P_test');

%用訓練出來的神經網絡計算數據的

%第P_test行


word=jieguoxianshi(y)

end

%--------第2個字符

if c==3

b3=d(:,(k1:k2));

imwrite(b3,'');

t3=tezhengtiqu(b3);

P_test = [t3];

y = sim(net,P_test');

word=jieguoxianshi(y)

end

%--------第3個字符

if c==4

b4=d(:,(k1:k2));

imwrite(b4,'');

t4=tezhengtiqu(b4);

P_test = [t4];

y = sim(net,P_test');

word=jieguoxianshi(y)

end

%--------第4個字符

if c==5

b5=d(:,(k1:k2));

imwrite(b5,'');

t5=tezhengtiqu(b5);

P_test = [t5];

y = sim(net,P_test');

word=jieguoxianshi(y)

end

%--------第5個字符

if c==6

b6=d(:,(k1:k2));

imwrite(b6,'');

t6=tezhengtiqu(b6);

P_test = [t6];

y = sim(net,P_test');

word=jieguoxianshi(y)

end

%--------第6個字符

if c==7

b7=d(:,(k1:k2));

imwrite(b7,'');

t7=tezhengtiqu(b7);

P_test = [t7];

y = sim(net,P_test');

word=jieguoxianshi(y)

end

%--------第7個字符

if c==8

b8=d(:,(k1:k2));

imwrite(b8,'');

t8=tezhengtiqu(b8);

P_test = [t8];

y = sim(net,P_test');

word=jieguoxianshi(y)

end

%--------第8個字符

if c==9

b9=d(:,(k1:k2));

imwrite(b9,'');

t9=tezhengtiqu(b9);

P_test = [t9];

y = sim(net,P_test');

word=jieguoxianshi(y)

end

%--------第9個字符

if c==10

b10=d(:,(k1:k2));

imwrite(b10,'');

t10=tezhengtiqu(b10);

P_test = [t10];

y = sim(net,P_test');

word=jieguoxianshi(y)

end

%--------第10個字符

if c==11

b11=d(:,(k1:k2));

imwrite(b11,'');

t11=tezhengtiqu(b11);

P_test = [t11];

y = sim(net,P_test');

word=jieguoxianshi(y)

end

%--------第11個字符

if c==12

b12=d(:,(k1:k2));

imwrite(b12,'');

t12=tezhengtiqu(b12);

P_test = [t12];

y = sim(net,P_test');

word=jieguoxianshi(y)

end

%--------第12個字符

if c==13

b13=d(:,(k1:k2));

imwrite(b13,'');

t13=tezhengtiqu(b13);

P_test = [t13];

y = sim(net,P_test');

word=jieguoxianshi(y)

end

%--------第13個字符

if c==14

b14=d(:,(k1:k2));

imwrite(b14,'');

t14=tezhengtiqu(b14);

P_test = [t14];

y = sim(net,P_test');

word=jieguoxianshi(y)

end

%--------第14個字符

if c==15

b15=d(:,(k1:k2));

imwrite(b15,'');

t15=tezhengtiqu(b15);

P_test = [t15];

y = sim(net,P_test');

word=jieguoxianshi(y)

end

%--------第15個字符

if c==16

b16=d(:,(k1:k2));

imwrite(b16,'');

t16=tezhengtiqu(b16);

P_test = [t16];

y = sim(net,P_test');

word=jieguoxianshi(y)

end

%--------第16個字符

c=c+1;

end

subplot(2,8,1),imshow('');

subplot(2,8,2),imshow('');

subplot(2,8,3),imshow('');

subplot(2,8,4),imshow('');

subplot(2,8,5),imshow('');

subplot(2,8,6),imshow('');

subplot(2,8,7),imshow('');

subplot(2,8,8),imshow('');

subplot(2,8,9),imshow('');

subplot(2,8,10),imshow('');

subplot(2,8,11),imshow('');

subplot(2,8,12),imshow('');

subplot(2,8,13),imshow('');

subplot(2,8,14),imshow('');

subplot(2,8,15),imshow('');

subplot(2,8,16),imshow('');


%標準圖像識別:


load fbp;

G=imread('');%讀取

I=rgb2gray(G);

%--------轉灰度圖象

B1=filter2(fspecial('average',3),I)/255;

%--------均值濾波

imshow(d);

k1=1;k2=1;s=sum(d');j=2;a=1;c=1

[m,n]=size(d');

while s(j)==m

j=j+1;

end

k1=j;

while s(j)~=m && j<=n-1

j=j+1;

end

k2=j-1;

d=d((k1:k2),:);

%--------行分割

[m,n]=size(d);

k1=1;k2=1;s=sum(d);j=2;a=1;c=1

for a=1:16

while s(j)==m

j=j+1;

end

k1=j;

while s(j)~=m && j<=n-1

j=j+1;

end

k2=j-1;

%--------列分割

if c==1

b1=d(:,(k1:k2));

imwrite(b1,'');

t1=tezhengtiqu(b1);

P_test = [t1'];

y = sim(net,P_test);

word=fbmjieguoxianshi(y)

end

%--------第1個字符

if c==2

b2=d(:,(k1:k2));

imwrite(b2,'');

t2=tezhengtiqu(b2);

P_test = [t2];

y = sim(net,P_test');

word=fbmjieguoxianshi(y)

end

%--------第2個字符

if c==3

b3=d(:,(k1:k2));

imwrite(b3,'');

t3=tezhengtiqu(b3);

P_test = [t3];

y = sim(net,P_test');

word=fbmjieguoxianshi(y)

end

%--------第3個字符

if c==4

b4=d(:,(k1:k2));

imwrite(b4,'');

t4=tezhengtiqu(b4);

P_test = [t4];

y = sim(net,P_test');

word=fbmjieguoxianshi(y)

end

%--------第4個字符

if c==5

b5=d(:,(k1:k2));

imwrite(b5,'');

t5=tezhengtiqu(b5);

P_test = [t5];

y = sim(net,P_test');

word=fbmjieguoxianshi(y)

end

%--------第5個字符

if c==6

b6=d(:,(k1:k2));

imwrite(b6,'');

t6=tezhengtiqu(b6);

P_test = [t6];

y = sim(net,P_test');

word=fbmjieguoxianshi(y)

end

%--------第6個字符

if c==7

b7=d(:,(k1:k2));

imwrite(b7,'');

t7=tezhengtiqu(b7);

P_test = [t7];

y = sim(net,P_test');

word=fbmjieguoxianshi(y)

end

%--------第7個字符

if c==8

b8=d(:,(k1:k2));

imwrite(b8,'');

t8=tezhengtiqu(b8);

P_test = [t8];

y = sim(net,P_test');

word=fbmjieguoxianshi(y)

end

%--------第8個字符

if c==9

b9=d(:,(k1:k2));

imwrite(b9,'');

t9=tezhengtiqu(b9);

P_test = [t9];

y = sim(net,P_test');

word=fbmjieguoxianshi(y)

end

%--------第9個字符

if c==10

b10=d(:,(k1:k2));

imwrite(b10,'');

t10=tezhengtiqu(b10);

P_test = [t10];

y = sim(net,P_test');

word=fbmjieguoxianshi(y)

end

%--------第10個字符

if c==11

b11=d(:,(k1:k2));

imwrite(b11,'');

t11=tezhengtiqu(b11);

P_test = [t11];

y = sim(net,P_test');

word=fbmjieguoxianshi(y)

end

%--------第11個字符

if c==12

b12=d(:,(k1:k2));

imwrite(b12,'');

t12=tezhengtiqu(b12);

P_test = [t12];

y = sim(net,P_test');

word=fbmjieguoxianshi(y)

end

%--------第12個字符

if c==13

b13=d(:,(k1:k2));

imwrite(b13,'');

t13=tezhengtiqu(b13);

P_test = [t13];

y = sim(net,P_test');

word=fbmjieguoxianshi(y)

end

%--------第13個字符

if c==14

b14=d(:,(k1:k2));

imwrite(b14,'');

t14=tezhengtiqu(b14);

P_test = [t14];

y = sim(net,P_test');

word=fbmjieguoxianshi(y)

end

%--------第14個字符

if c==15

b15=d(:,(k1:k2));

imwrite(b15,'');

t15=tezhengtiqu(b15);

P_test = [t15];

y = sim(net,P_test');

word=fbmjieguoxianshi(y)

end

%--------第15個字符

if c==16

b16=d(:,(k1:k2));

imwrite(b16,'');

t16=tezhengtiqu(b16);

P_test = [t16];

y = sim(net,P_test');

word=fbmjieguoxianshi(y)

end

%--------第16個字符

c=c+1;

end

subplot(2,8,1),imshow('');

subplot(2,8,2),imshow('');

subplot(2,8,3),imshow('');

subplot(2,8,4),imshow('');

subplot(2,8,5),imshow('');

subplot(2,8,6),imshow('');

subplot(2,8,7),imshow('');

subplot(2,8,8),imshow('');

subplot(2,8,9),imshow('');

subplot(2,8,10),imshow('');

subplot(2,8,11),imshow('');

subplot(2,8,12),imshow('');

subplot(2,8,13),imshow('');

subplot(2,8,14),imshow('');

subplot(2,8,15),imshow('');

subplot(2,8,16),imshow('');



%標準圖像識別結果顯示:


function word=jieguoxianshi(y)

%顯示結果的函數

y=[round(y(1)),round(y(2)),round(y(3)),

round(y(4)),round(y(5)),round(y(6)),

round(y(7)),round(y(8)),round(y(9)),

round(y(10)),round(y(11)),round(y(12)),

round(y(13)),round(y(14)),round(y(15)),

round(y(16))];

[C,I]=max(y);

if I==16

word='匣';

elseif I==15

word='囡';

elseif I==14

word='圖';

elseif I==13

word='國';

elseif I==12

word='盅';

elseif I==11

word='匡';

elseif I==10

word='盞';

elseif I==9

word='固';

elseif I==8

word='監';

elseif I==7

word='盂';

elseif I==6

word='盒';

elseif I==5

word='團';

elseif I==4

word='盈';

elseif I==3

word='団';

elseif I==2

word='盔';

elseif I==1

word='因';

end


%亂序圖像識別結果顯示


function word=jieguoxianshi(y)

%顯示結果的函數

y=[round(y(1)),round(y(2)),round(y(3)),

round(y(4))];

if y==[0,0,0,0]

word='匣';

elseif y==[0,0,0,1,]

word='囡';

elseif y==[0,0,1,0]

word='圖';

elseif y==[0,0,1,1]

word='國';

elseif y==[0,1,0,0]

word='盅';

elseif y==[0,1,0,1]

word='匡';

elseif y==[0,1,1,0]

word='盞';

elseif y==[0,1,1,1]

word='固';

elseif y==[1,0,0,0]

word='監';

elseif y==[1,0,0,1]

word='盂';

elseif y==[1,0,1,0]

word='盒';

elseif y==[1,0,1,1]

word='團';

elseif y==[1,1,0,0]

word='盈';

elseif y==[1,1,0,1]

word='団';

elseif y==[1,1,1,0]

word='盔';

elseif y==[1,1,1,1]

word='因';

end


%特征提取:


function PN=moshishibie(d)

%特征提取函數

%通過13點特征提取法提取特征

%d為已處理圖象

[m,n]=size(d);

k1=1;

for i=1:m/4

for j=1:n/2

if d(i,j)==1

k1=k1+1;

end

end

end

k2=1;

for i=1:round(m/4)

for j=round(n/2):round(n)

if d(i,j)==1

k2=k2+1;

end

end

end

k3=1;

for i=round(m/4):m/2

for j=1:n/2

if d(i,j)==1

k3=k3+1;

end

end

end

k4=1;

for i=round(m/4):m/2

for j=round(n/2):n

if d(i,j)==1

k4=k4+1;

end

end

end

k5=1;

for i=round(m/2):round(m*3/4)

for j=1:round(n/2)

if d(i,j)==1

k5=k5+1;

end

end

end

k6=1;

for i=round(m/2):round(m*3/4)

for j=round(n/2):n

if d(i,j)==1

k6=k6+1;

end

end

end

k7=1;

for i=round(m*3/4):m

for j=1:round(n/2)

if d(i,j)==1

k7=k7+1;

end

end

end

k8=1;

for i=round(m*3/4):m

for j=round(n/2):n

if d(i,j)==1

k8=k8+1;

end

end

end

k9=k3+k4;

k10=k5+k6;

k11=k1+k3+k5+k7;

k12=k2+k4+k6+k8;

k13=k11+k12;

k=[k1,k2,k3,k4,k5,k6,k7,k8,k9,k10,k11,k12,13];

[PN,minp,maxp] = premnmx(k); %歸一化


附 錄2

Neural Network object: %神經網絡的對象;

architecture: %結構;

numInputs: 1

numLayers: 3

biasConnect: [1; 1; 1]

inputConnect: [1; 0; 0]

layerConnect: [0 0 0; 1 0 0; 0 1 0]

outputConnect: [0 0 1]

targetConnect: [0 0 1]

numOutputs: 1 (read-only)

numTargets: 1 (read-only)

numInputDelays: 0 (read-only)

numLayerDelays: 0 (read-only)

subobject structures: %子對象結構

inputs: {1x1 cell} of inputs

layers: {3x1 cell} of layers

outputs: {1x3 cell} containing 1 output

targets: {1x3 cell} containing 1 target

biases: {3x1 cell} containing 3 biases

inputWeights: {3x1 cell} containing 1 input weight

layerWeights: {3x3 cell} containing 2 layer weights

functions: %功能

adaptFcn: 'trains'

initFcn: 'initlay'

performFcn: 'mse'

trainFcn: 'trainlm'

parameters: %參數

adaptParam: .passes

initParam: (none)

performParam: (none)

trainParam: .epochs, .goal, .max_fail, .mem_reduc,

.min_grad, .mu, .mu_dec, .mu_inc,

.mu_max, .show, .time

weight and bias values: %權重和偏置值

IW: {3x1 cell} containing 1 input weight matrix

LW: {3x3 cell} containing 2 layer weight matrices

b: {3x1 cell} containing 3 bias vectors

other: %其他

userdata: (user stuff)

總結

以上是生活随笔為你收集整理的MATLAB印刷体汉字识别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。