破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。

clear;

I=imread('xingshi32.bmp');

if(isgray(I)==0)

disp('请输入灰度图像,本程序用来处理128 *128的灰度图像!');

else

if (size(I)~=[128,128])

disp('图像的大小不合程序要求!');

else

H.color=[1 1 1]; %设置白的画布

figure(H);imshow(I);

title('原图像');

zeroImage=repmat(uint8(0),[128 128]);

figure(H); %为分裂合并后显示的图设置画布

meansImageHandle=imshow(zeroImage);

title('块均值图像');

%%%%%设置分裂后图像的大小由于本图采用了128像素的图

blockSize=[128 64 32 16 8 4 2];

%%设置一个S稀疏矩阵用于四叉树分解后存诸数据

S=uint8(128);

S(128,128)=0;

threshold=input('请输入分裂的阈值(0--1):');%阈值

threshold=round(255*threshold);

M=128;dim=128;

%%%%%%%%%%%%%%%%% 分裂主程序%%%%%%%%%%%

while (dim>1)

[M,N] = size(I);

Sind = find(S == dim);

numBlocks = length(Sind);

if (numBlocks == 0)

%已完成

break;

end

rows = (0:dim-1)';

cols = 0:M:(dim-1)*M;

rows = rows(:,ones(1,dim));

cols = cols(ones(dim,1),:);

ind = rows + cols;

ind = ind(:);

tmp = repmat(Sind', length(ind), 1);

ind = ind(:, ones(1,numBlocks));

ind = ind + tmp;

blockValues= I(ind);

blockValues = reshape(blockValues, [dim dim numBlocks]);

if(isempty(Sind))

%已完成

break;

end

[i,j]=find(S);

set(meansImageHandle,'CData',ComputeMeans(I,S));

maxValues=max(max(blockValues,[],1),[],2);

minValues=min(min(blockValues,[],1),[],2);

doSplit=(double(maxValues)-double(minValues))>threshold;

dim=dim/2;

Sind=Sind(doSplit);

Sind=[Sind;Sind+dim;(Sind+M*dim);(Sind+(M+1)*dim)];

S(Sind)=dim;

end

[i,j]=find(S); % 用来寻找四叉机分解结果中大小为S的块的位置

set(meansImageHandle,'CData',ComputeMeans(I,S)); % 显示分解结果块均值图像 Numberofbloks=length(i); %计算块数

%sizev=size(v);

end

end

matlab显示一段文字,一段文字拼接的matlab代码,大家可以试试看相关推荐

  1. 为什么matlab显示error,【求救】我安装了资源 MATLAB R2012b 后,显示有error……

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我安装了 matlab r2012b. 打开后,它立刻显示有error,有问题吗? 详情如下: ERROR: Error starting referen ...

  2. matlab显示神经网络结构图,[转载]bp神经网络结构设计和在MATLAB中仿真方法

    4.2 神经网络的设计 在得到信号的特征向量以后,下一步工作就是建立并训练神经网络去对信号进行分类识别. (1)输入和输出层的设计 输入层的输入单元个数可以根据特征向量的维数决定.本文选取了5种特征向 ...

  3. Adobe PR学习笔记一:从视频中剪辑一段出来和插入文字

    1.从视频中剪辑一段出来 (1)新建项目 (2)文件->导入,选择要剪辑的视频 (3)把视频拖到时间轴区 (4)使用标记入点和标记出点,选择视频的起始位置 (5)文件->导出 快捷键是 C ...

  4. matlab浊音段和清音段,基于Matlab编写的语音端点检测1

    wavread 基于Matlab编写的语音端点检测 专业: 班级: 姓名: 指导教师: 2011年6月18日 一.实验目的 1.学会MATLAB的使用,掌握MATLAB的程序设计方法: 3.掌握语音处 ...

  5. Matlab里怎么注释掉一段(多行)代码

    Matlab里怎么注释掉一段(多行)代码? 你可以这样做,先选好你需要注释的那几行,单击右键,选择COMMENT.就可以了.如果要取消就同样选择要取消注释的那几行.依上述同样的操作选择Uncommen ...

  6. 燕秀计算机打印区域文字高度,CAD 让文字显示在指定区域,自动根据文字内容调整文字高度...

    CAD 让文字显示在指定区域,自动根据文字内容调整文字高度 '********************************************************************* ...

  7. matlab浊音段和清音段,语音端点检测及其在Matlab中的实现

    文献 计算机时代2005年第8期 25 语音端点检测及其在Matlab中的实现 刘 羽 (桂林工学院科技处,广西桂林541004) 摘要:介绍了语音的基本特征和语音端点检测的基本方法,对基于Matla ...

  8. 创建一个简单的应用程序窗口,显示“欲穷千里目 更上一层楼”。这一行文字从窗口中向左滚动显示,而且每显示一轮,改变一次颜色,改变一次字体,一个周期为4种颜色,分别为红、绿、黄、蓝,四种字体分别为宋体、楷

    创建一个简单的应用程序窗口,显示"欲穷千里目 更上一层楼".这一行文字从窗口中向左滚动显示,而且每显示一轮,改变一次颜色,改变一次字体,一个周期为4种颜色,分别为红.绿.黄.蓝,四 ...

  9. 为什么文本框里的字只显示一半_Word文档中文字显示不全的解决方法有哪些

    在Word 文档中,如果把段落中的文字字号设置大一点的字体,可能会出现文字显示不全的情况;表格中也可能出现这种情况,文字显示一半或都显示不出来,是什么原因?以下是学习啦小编为您带来的关于Word文档中 ...

  10. div css纵向显示 html,css如何设置竖排文字?

    有时候网页中的文字因为特别要求不能横向显示,这时候所需要的就是让文字来竖排显示,那么,网页中如何让文字竖排显示呢?接下来本篇文章将介绍css实现文字竖排显示的方法,希望对大家有所帮助. 方法一:使用w ...

最新文章

  1. 如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)
  2. JQuery Deferred 对象
  3. 历久弥新 - 微软万亿市值背后的文化支撑(下)|DevOps案例研究
  4. 20141215胡思乱想
  5. 从1.5k到18k, 一个程序员的5年成长之路
  6. 第一章:第三课 选择器-状态伪类选择器[四]
  7. VB:设定 MsgBox 在若干时间之后若无回应则自动关闭
  8. centos7部署gitlab遇到的坑
  9. 大朗机器人餐厅在哪里_获得海内外一致好评,送餐机器人为中国餐饮打开新世界...
  10. 黑苹果使用Hackintool注入声卡驱动
  11. 如何实现大批量UKEY远程连接管控?
  12. 无线资源管理 IEEE802.11K
  13. MQ如何快速实现流量削峰填谷
  14. 从感性和理性的角度谈APS系统
  15. kali 2019安装8812bu无线网卡驱动
  16. bat批处理文件编写
  17. python处理脱敏问题
  18. 【中国银联】数据挖掘笔试+三面面经
  19. Java 安全P2P网贷系统源码发布
  20. 交叉编译环境中虚拟机ubuntu向开发板传送文件的方法

热门文章

  1. 访问网站出现Access denied for user 'root'@'%' to database 'xxx'
  2. Joomla建站教程:Joomla建站存在的误区
  3. 35-博客网站数据库-博文信息数据操作(二)
  4. Java 并发小册 2022 索引版正式来袭,持续更新
  5. 那些过了20岁才知道的道理。
  6. 小米9.0系统机器最完美激活Xposed框架的步骤
  7. linux下快速打包/多线程压缩文件的方法
  8. java.security.nosucha_java.security.NoSuchProviderException: no such provider: Crypto
  9. pyecharts极简入门教程
  10. 响应式表格(table-responsive)表头与表数据位置偏移