matlab拼接27个图像碎片程序

matlab拼接27个图像碎片程序,第1张

 matlab拼接27个图像碎片程序,你这是2013年大学生数学建模大赛B题,我觉得这个题要用图像的字符识别,通过字符的结构进行度量,

关键是拼接的算法,你要设计合适的算法才能真正做到

imname = dir('\bmp');%读入文件夹下的全部图像

im_num = length(imname);% 文件夹中图像的个数

im_temp = imread(imname(1)name,'bmp');%读入第一幅图像

[height,width] = size(im_temp);%得到图像的尺寸

DB(:,:,a) = zeros(height,width,im_num,'uint8');

% 读入全部图像

for a = 1:length(imname)

DB(:,:,a) = imread(imname(a)name,'bmp');%读取图像数据

%在此处也可以加入图像二值化代码

DB(:,:,a) = im2bw(DB(:,:,a) );

end

批量读入

用cat函数连接;

每个纸条的边界

ima = DB(:,:,a);

im_left = ima(:,1);

im_right= ima(:,end);

灰度值就是0 255,你要二值化数也行用 im2bw

左边11900的图像就是 im(:,1);

请采纳我的答案!

我的代码是调试通过的

你可以试试下面的程序:

I=imread('myphotojpg'); % 假设要处理的图像是myphotojpg

heights=size(I,1); % 图像的高

widths=size(I,2); % 图像的宽

m=8; % 假设纵向分成8幅图

n=10; % 假设横向分成10幅图

% 考虑到rows和cols不一定能被m和n整除,所以对行数和列数均分后要取整

rows=round(linspace(0,heights,m+1)); % 各子图像的起始和终止行标

cols=round(linspace(0,widths,n+1)); % 各子图像的起始和终止列标

blocks=cell(m,n); % 用一个单元数组容纳各个子图像

for k1=1:m

for k2=1:n

blocks{k1,k2}=I(rows(k1)+1:rows(k1+1),cols(k2)+1:cols(k2+1),:);

subimage=blocks{k1,k2};

% 以下是对subimage进行边缘检测

% 加入边缘检测的代码

% 以上是对subimage进行边缘检测

blocks{k1,k2}=subimage;

end

end

processed=I; % processed为处理后的图像,用原图像对其初始化

% 以下为拼接图像

for k1=1:m

for k2=1:n

processed(rows(k1)+1:rows(k1+1),cols(k2)+1:cols(k2+1),:)=blocks{k1,k2};

end

end

figure,imshow(processed)

% 以上的程序已测试过,对灰度图像和真彩图像都可以运行。

图像处理方面、图像识别算法:掌握算法、简化算法、认清算法实质和算法最大复杂度所在;嵌入式CPU数据手册:掌握cpu特点和能力,如需特殊优化了解cpu内部cache和总线特点,特色指令集嵌入式 *** 作系统文档:了解系统能力、存储器使用、系统运行最大速度,程序调用特点(硬中断、软中断、函数),以便决定算法运行过程以及是否能够实现、处理能力如何

以上就是关于matlab拼接27个图像碎片程序全部的内容,包括:matlab拼接27个图像碎片程序、matlab图像如何用代码完成图像的分割、边缘检测和拼接的任务、matlab图像分块,边缘检测,图像拼接代码_基于matlab的图像边缘检测等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10033087.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存