77范文网 - 专业文章范例文档资料分享平台

2013高教社杯数模B题(6)

来源:网络收集 时间:2019-04-09 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

for n = 1:dataNum - 1 minCount = 0; index = 0;

for i = 1:dataNum

length = size(array); %记录已经拼接的个数 flag = 0;

%如果已经取过了,则跳过,跳2层 for j = 1:length(2); if array(j) == i flag = 1; break; end end

if flag == 1 continue; end

%比较二值化后有多少个不同点

count = calPoint(data,array(length(2)),i,2);

%记录最小值

if minCount == 0

minCount = count; index = i; end

if minCount > count minCount = count; index = i; end end

%当前拼接长度

length = size(array);

array(length(2)+1) = index; end

%显示图像

fullData = data{array(1)}; for i = 2:dataNum

fullData = [fullData,data{array(i)}]; end

imshow(fullData);

%将排列减1,即以前从1开始,现在从0开始 array = array - 1;

附录4.3

24

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 按列判断左页边距像素 % 参数:

% data 图像RGB数据

% col 最左边子图像的序号,从1开始 % 返回值:

% result 子图像出现的第一个非白色的像素所在列 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function result = judgeLeft(data,col)

%计算图像像素

dataSize = size(data{col});

%返回为0则表示该列完全是空白的,即错误结果 result = 0;

%按列遍历第一个出现的非白色像素 for i = 1:dataSize(2) for j = 1:dataSize(1)

if data{col}(j,i) ~= 255 result = i; return; end end end

附录4.4

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 计算相邻子图不同像素点的个数 % 参数:

% data 图像RGB数据 % a 左子图所在的序号 % b 右子图所在的序号

% mode 1为向左 2为向右 3为向上 4为向下 % 返回值:

% count 相邻子图不同像素点的个数

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function count = calPoint(data,a,b,mode)

%计算子图的尺寸

dataSize = size(data{1});

%遍历最佳阀值

count = 0; %记录该阀值有多少个不同点 A = data{b}; %记录右图的图像数据 B = data{a}; %记录左图的图像数据

if mode == 1

%比较有多少个不同点

25

for i = 1:dataSize(1)

if A(i,dataSize(2)) ~= B(i,1);

count = count+1; %记录不同点的个数 end end end

if mode == 2

for i = 1:dataSize(1)

if A(i,1) ~= B(i,dataSize(2));

count = count+1; %记录不同点的个数 end end end

if mode == 3

for i = 1:dataSize(2)

if A(dataSize(1),i) ~= B(1,i);

count = count+1; %记录不同点的个数 end end end

if mode == 4

for i = 1:dataSize(2)

if A(1,i) ~= B(dataSize(1),i);

count = count+1; %记录不同点的个数 end end end

附录4.5

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 计算左侧图像的序号 % 参数:

% data 图像RGB数据 % 返回值:

% Array 计算出的左侧序号,从1开始记录,1即000

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function LeftArray = leftArray(data)

%计算有多少个子图 temp = size(data); dataNum = temp(2);

%根据子图左页边距的像素遍历,记录最大空白像素的列的序号 for i = 1:dataNum

templeftArray(i) = judgeLeft(data,i); end

26

%降序排序,index为排序后对源数据的所引致

[sortLeftArray,index] = sort(templeftArray,'descend');

%取前m个索引数,即第一列的序号 for i = 1:11

LeftArray(i) = index(i); end

附录4.6

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 计算子图某一方向空白点的像素个数 % 参数:

% data 图像RGB数据 % num 图像编号

% mode 1为向左 2为向右 3为向上 4为向下 % 返回值:

% count 空白像素点的个数

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function count = calWhitePoint(data,num,mode)

%计算子图的尺寸

dataSize = size(data{1});

count = 0; %记录有多少个不同点

A = data{num};

if mode == 1

%比较有多少个不同点 for i = 1:dataSize(1) if A(i,1) == 255

count = count+1; %记录白色点的个数 end end end

if mode == 2

for i = 1:dataSize(1)

if A(i,dataSize(2)) == 255

count = count+1; %记录白色点的个数 end end end

if mode == 3

for i = 1:dataSize(2) if A(1,i) == 255

count = count+1; %记录白色点的个数 end end

27

end

if mode == 4

for i = 1:dataSize(2)

if A(dataSize(1),i) == 255

count = count+1; %记录白色点的个数 end end end

附录4.7

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 计算每一图与其他图的不同点的个数 % 参数:

% data 图像RGB数据 % 返回值:

% l 与左图的距离 % r 与右图的距离 % u 与上图的距离 % d 与下图的距离

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [l,r,u,d] = sortData(data)

%计算有多少个子图 temp = size(data); dataNum = temp(2);

%遍历每一个图

for i = 1: dataNum for j = 1:dataNum

%计算与其他图不同点的个数 ll(j) = calPoint(data,i,j,1); rr(j) = calPoint(data,i,j,2); uu(j) = calPoint(data,i,j,3); dd(j) = calPoint(data,i,j,4); end %排序

[sortll,indexll] = sort(ll,'descend'); [sortrr,indexrr] = sort(rr,'descend'); [sortuu,indexuu] = sort(uu,'descend'); [sortdd,indexdd] = sort(dd,'descend'); %存储

l{i} = indexll; r{i} = indexrr; u{i} = indexuu; d{i} = indexdd; end

28

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库2013高教社杯数模B题(6)在线全文阅读。

2013高教社杯数模B题(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/581514.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: