数学建模B题国家一等奖Matlab程序_精品文档.pdf

上传人:b****2 文档编号:3216378 上传时间:2022-11-20 格式:PDF 页数:13 大小:112.06KB
下载 相关 举报
数学建模B题国家一等奖Matlab程序_精品文档.pdf_第1页
第1页 / 共13页
数学建模B题国家一等奖Matlab程序_精品文档.pdf_第2页
第2页 / 共13页
数学建模B题国家一等奖Matlab程序_精品文档.pdf_第3页
第3页 / 共13页
数学建模B题国家一等奖Matlab程序_精品文档.pdf_第4页
第4页 / 共13页
数学建模B题国家一等奖Matlab程序_精品文档.pdf_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数学建模B题国家一等奖Matlab程序_精品文档.pdf

《数学建模B题国家一等奖Matlab程序_精品文档.pdf》由会员分享,可在线阅读,更多相关《数学建模B题国家一等奖Matlab程序_精品文档.pdf(13页珍藏版)》请在冰豆网上搜索。

数学建模B题国家一等奖Matlab程序_精品文档.pdf

附录附录3:

程序源文件:

程序源文件1.duqu_image.m文件文件%数据读取预处理文件%将附件中的图片读取到matlab矩阵中,并保存为image_1,image_2,image_3,image_4,image_5a,image_5b%所有附件均放在文件夹D:

B中%图片名序列%图像名称序号b=ones(1,10);0123456789;image_num=strcat(num2str(0*b(:

1),num2str(0*b(:

1),num2str(b(:

2),strcat(num2str(0*b(:

1),num2str(b(:

1),num2str(b(:

2),strcat(num2str(0*b(:

1),num2str(2*b(:

1),num2str(b(:

2),strcat(num2str(0*b(:

1),num2str(3*b(:

1),num2str(b(:

2),strcat(num2str(0*b(:

1),num2str(4*b(:

1),num2str(b(:

2),strcat(num2str(0*b(:

1),num2str(5*b(:

1),num2str(b(:

2),strcat(num2str(0*b(:

1),num2str(6*b(:

1),num2str(b(:

2),strcat(num2str(0*b(:

1),num2str(7*b(:

1),num2str(b(:

2),strcat(num2str(0*b(:

1),num2str(8*b(:

1),num2str(b(:

2),strcat(num2str(0*b(:

1),num2str(9*b(:

1),num2str(b(:

2),strcat(num2str(b(:

1),num2str(0*b(:

1),num2str(b(:

2),strcat(num2str(b(:

1),num2str(b(:

1),num2str(b(:

2),strcat(num2str(b(:

1),num2str(2*b(:

1),num2str(b(:

2),strcat(num2str(b(:

1),num2str(3*b(:

1),num2str(b(:

2),strcat(num2str(b(:

1),num2str(4*b(:

1),num2str(b(:

2),strcat(num2str(b(:

1),num2str(5*b(:

1),num2str(b(:

2),strcat(num2str(b(:

1),num2str(6*b(:

1),num2str(b(:

2),strcat(num2str(b(:

1),num2str(7*b(:

1),num2str(b(:

2),strcat(num2str(b(:

1),num2str(8*b(:

1),num2str(b(:

2),strcat(num2str(b(:

1),num2str(9*b(:

1),num2str(b(:

2),strcat(num2str(2*b(:

1),num2str(0*b(:

1),num2str(b(:

2),;%5读取所有附件中的图片%读取附件1中的图像n=19;image_name=strcat(D:

/B/附件1,/,image_num,.bmp);%拼接图像地址和名字forj=1:

nimage_1(:

:

j)=imread(image_name(j,:

);%将图像读入矩阵endsaveimage_1image_1;%附件1图像%读取附件2中的图像n=19;image_name=strcat(D:

/B/附件2,/,image_num,.bmp);%拼接图像地址和名字forj=1:

nimage_2(:

:

j)=imread(image_name(j,:

);%将图像读入矩阵endsaveimage_2image_2;%附件2图像%读取附件3中的图像n=209;image_name=strcat(D:

/B/附件3,/,image_num,.bmp);%拼接图像地址和名字forj=1:

nimage_3(:

:

j)=imread(image_name(j,:

);%将图像读入矩阵endsaveimage_3image_3;%附件3图像%读取附件4中的图像n=209;image_name=strcat(D:

/B/附件4,/,image_num,.bmp);%拼接图像地址和名字forj=1:

nimage_4(:

:

j)=imread(image_name(j,:

);%将图像读入矩阵endsaveimage_4image_4;%附件4图像%读取附件5a中的图像n=209;image_name=strcat(D:

/B/附件5,/,image_num,a,.bmp);%拼接图像地址和名字forj=1:

nimage_5a(:

:

j)=imread(image_name(j,:

);%将图像读入矩阵endsaveimage_5aimage_5a;%附件5a图像%读取附件5b中的图像n=209;image_name=strcat(D:

/B/附件5,/,image_num,b,.bmp);%拼接图像地址和名字forj=1:

nimage_5b(:

:

j)=imread(image_name(j,:

);%将图像读入矩阵endsaveimage_5bimage_5b;%附件5a图像2.f_hang_left_right.m文件文件functionleft_zi_changright_zi_chang=f_hang_left_right(image_hang)%此函数计算一行字左右两端汉字的长度%image_hang表示附件图片中第几行字%image_hang=image_1(106:

146,:

1);%取行rowcol=size(image_hang);image_01=image_hang=200;%01化图形,0表示汉字,1表示背景image_hang_he=sum(image_01,1);%对列求和%找汉字hanzi_fa_zhi=row;%表示空格kong_ge_chang=3;%空格的长度hang_he_01=image_hang_he=hanzi_fa_zhi;if(hang_he_01

(1)=0)%本行左边开头为汉字,统计汉字的长度fori=1:

col-kong_ge_changif(sum(hang_he_01(i:

i+kong_ge_chang-1)=kong_ge_chang)break;endendleft_zi_chang=i-1;elseleft_zi_chang=0;endif(left_zi_chang41)left_zi_chang=0;endif(hang_he_01(col)=0)%本行结束为汉字,统计汉字的长度fori=col:

-1:

kong_ge_changif(sum(hang_he_01(i-kong_ge_chang+1:

i)=kong_ge_chang)break;endendright_zi_chang=col-i;elseright_zi_chang=0;endif(right_zi_chang41)right_zi_chang=0;end3.f_pi_pei_du.m文件functionleft_zi_changright_zi_chang=f_hang_left_right(image_hang)%此函数计算一行字左右两端汉字的长度%image_hang表示附件图片中第几行字%image_hang=image_1(106:

146,:

1);%取行rowcol=size(image_hang);image_01=image_hang=200;%01化图形,0表示汉字,1表示背景image_hang_he=sum(image_01,1);%对列求和%找汉字hanzi_fa_zhi=row;%表示空格kong_ge_chang=3;%空格的长度hang_he_01=image_hang_he=hanzi_fa_zhi;if(hang_he_01

(1)=0)%本行左边开头为汉字,统计汉字的长度fori=1:

col-kong_ge_changif(sum(hang_he_01(i:

i+kong_ge_chang-1)=kong_ge_chang)break;endendleft_zi_chang=i-1;elseleft_zi_chang=0;endif(left_zi_chang41)left_zi_chang=0;endif(hang_he_01(col)=0)%本行结束为汉字,统计汉字的长度fori=col:

-1:

kong_ge_changif(sum(hang_he_01(i-kong_ge_chang+1:

i)=kong_ge_chang)break;endendright_zi_chang=col-i;elseright_zi_chang=0;endif(right_zi_chang41)right_zi_chang=0;end4.fujian_1_chengxu.m文件%此文件,将附件1中的图片进行拼接%1.先统计出附件1所有行字的左右汉字长度%2.计算匹配度%3.根据匹配度进行拼接loadimage_1;%读取附件1数据文件%人工干预计算下列值ding_kong=37;%ding_kong表示顶端空行zi_gao=41;%zi_gao表示字的高度zi_kuan=41;%zi_kuan表示字的宽度konghang_gao=26;%konghang_gao表示空行的高度hang_shu=27;%附件1所给文件的汉字总行数%1.先统计出附件1所有行字的左右汉字长度fujian_zitu=zeros(hang_shu,2);%附件1中的每一个子图的左右汉字长度fujian_1=zeros(27,2,19);%附件1中所有图的左右汉字长度forj=1:

19zi_ding=ding_kong;fori=1:

hang_shufujian_zitu(i,1)fujian_zitu(i,2)=f_hang_left_right(image_1(zi_ding+1:

zi_ding+zi_gao,:

j);zi_ding=zi_ding+zi_gao+konghang_gao;endfujian_1(:

:

j)=fujian_zitu;endsavefujian_1_zuoyou_zichangfujian_1;%保存字长结果fujian1_pinjie_jieguo=zeros(1,19);%保存拼接结果的矩阵pipeidu=zeros(1,19);%用来保存中间匹配度的向量fujian1_pinjie_jieguo

(1)=9;%人工干预找到的第一个(最左边)的纸条(即,图008.bmp)fa_zhi=0.8;%匹配度计算时的阀值,大于此阀值的任务匹配正确,小于此值的认为匹配不正确%2.计算匹配度%匹配度fujian_1_pipei_du=zeros(19,19);fori=1:

19forj=1:

19fujian_1_pipei_du(i,j)=f_pi_pei_du(fujian_1(:

2,i),fujian_1(:

1,j),fa_zhi);endendsavefujian_1_pipei_du

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 笔试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1