有的时候需要将多张图像拼接成一张图片,如下图,将多张类似的图像平铺在一张图像上,那这是怎么做到的呢?

利用dir将文件夹中的多张图像拼接在一起

file_path = 'xxx';% 图像文件夹路径
files = dir(strcat(file_path,'\','*.png'));%获取该文件夹中所有png格式的图像
num = length(files) %获取图像总数量
for i=1:numI = imread(strcat(file_path,'\',files(i).name));figure;subplot(3,3,i);  imshow(Picture);  clear Picture;
end

将figure多张子图合并成一张图

x = 0:0.01:20;
y1 = sin(x);
y2 = cos(x);
figure(1);
plot(x,y1);
figure(2);
plot(x,y2);fig(1) = get(figure(1), 'CurrentAxes');
fig(2) = get(figure(2), 'CurrentAxes');
figure(3);
subplot(2,1,1);
axChildren = get(fig(1),'Children');
copyobj(axChildren, gca);
subplot(2,1,2);
axChildren = get(fig(2),'Children');
copyobj(axChildren, gca);


将多个图像帧合并为一个矩形分块图函数:imtile

定义语法

out = imtile(filenames) :返回包含 filenames 中指定的图像的分块图。filenames 是 n×1 或 1×n 字符串数组、字符向量或字符向量元胞数组。

  • 如果指定索引图像,则 imtile 会使用文件中存在的颜色图将其转换为 RGB。
  • 如果图像之间存在数据类型不匹配,则 imtile 会使用 im2double 函数将所有图像重新缩放为 double。

out = imtile(I): 返回包含多帧图像数组 I 的所有帧的分块图。多帧图像,指定为二值图像、灰度图像或真彩色图像序列。I 可以是 m×n×k 或 m×n×1×k 数组,也可以是二值图像、灰度图像或真彩色图像序列。二值图像或灰度图像序列必须是 m×n×k 或 m×n×1×k 数组。真彩色图像序列必须是 m×n×3×k 数组。

out = imtile(images) :返回包含元胞数组 images 中指定的图像的分块图。imtile 将空元胞数组元素显示为空白图块。images-图像列表,指定为数值矩阵的 n×1 或 1×n 元胞数组。元胞数组可以包含大小为 m×n 或 m×n×3 的数值矩阵。

out = imtile(X,map) :将 X 中的所有灰度图像视为索引图像,并将指定的颜色图 map 应用于所有帧。X 可以是灰度图像数组(m×n×1×k)、文件名字符串数组或字符向量元胞数组。如果 X 表示文件名,map 将覆盖图像文件中存在的任何内部颜色图。

从文件创建分块图

从文件中将多个图像读取到工作区中,并创建一个包含这些图像的分块图。显示该分块图。

out = imtile({'peppers.png', 'ngc6543a.jpg'});
imshow(out);

自定义分块图中图像的数量

使用一个包含多个图像的数据集,将这些图像平铺在一个网格中。

加载 MRI 数据集。

load mri
out = imtile(D, map);
imshow(out);


创建一个分块图,其中仅包含该数据集中的前八个图像。使用 ‘GridSize’ 参数将这些图像排列在一个 2×4 网格中。

out = imtile(D, map, 'Frames', 1:8, 'GridSize', [2 4]);
figure;
imshow(out);

检查 RGB 图像的颜色平面

创建一个分块图,其中包含 RGB 图像的三个平面。显示该分块图。

imRGB = imread('peppers.png');
out = imtile(imRGB);
imshow(out)

从图像数据存储创建分块图

从图像数据存储创建并自定义分块图。

创建一个图像数据存储,其中包含指定文件夹中文件扩展名为 ‘tif’ 或 ‘png’ 的所有文件。

fileFolder = fullfile(matlabroot,'toolbox','matlab','imagesci');
imds = imageDatastore(fileFolder,'FileExtensions',{'.tif','.png'});

创建一个包含数据存储中图像的分块图。

out1 = imtile(imds);
imshow(out1);


使用 ‘BorderSize’ 和 ‘BackgroundColor’ 参数为分块图添加蓝色边框。

out2 = imtile(imds, 'BorderSize', 10, 'BackgroundColor', 'b');
figure;
imshow(out2);

资源传送门

  • 关注【做一个柔情的程序猿】公众号,后台回复解压密码获取文件解压密码
  • 在【做一个柔情的程序猿】公众号后台回复 【python资料】【2020秋招】 即可获取相应的惊喜哦!

「❤️ 感谢大家」

  • 点赞支持下吧,让更多的人也能看到这篇内容(收藏不点赞,都是耍流氓 -_-)
  • 欢迎在留言区与我分享你的想法,也欢迎你在留言区记录你的思考过程

❤️Matlab将多张图像无缝拼接成一张图像❤️相关推荐

  1. Opencv Sift和Surf特征实现图像无缝拼接生成全景图像

    Sift和Surf算法实现两幅图像拼接的过程是一样的,主要分为4大部分: 1. 特征点提取和描述 2. 特征点配对,找到两幅图像中匹配点的位置 3. 通过配对点,生成变换矩阵,并对图像1应用变换矩阵生 ...

  2. Opencv Surf特征实现图像无缝拼接生成全景图像(三)

    转自:https://guo-pu.blog.csdn.net/article/details/90657830 图像拼接在实际的应用场景很广,比如无人机航拍,遥感图像等等,图像拼接是进一步做图像理解 ...

  3. 【Opencv】Python+openCV实现全景图拼接(左右两张图片拼接成一张全景图)

    Python+openCV实现全景图拼接(左右两张图片拼接成一张全景图) 全景图拼接 思路 具体步骤 代码与结果 代码 效果测试1 效果测试2 全景图拼接 思路 这个就是简单对左右两张图进行拼接,希望 ...

  4. Php 360度跟随图,一种360度全景图像无缝拼接的方法与流程

    本发明涉及一种图像拼接方法,特别是一种360度全景图像无缝拼接的方法,本发明属于多传感器图像拼接技术领域. 背景技术: 图像拼接是将在同一场景下拍摄的多个图像拼接成具有宽视场的高分辨率图像的技术.图像 ...

  5. chatgpt赋能python:Python将两张图片拼接成一张图:让您的图片处理更高效!

    Python将两张图片拼接成一张图:让您的图片处理更高效! 作为一个有着10年Python编程经验的工程师,我发现Python成为了许多项目的主要语言,其中涵盖了很多关于图像处理的应用程序.在本文中, ...

  6. python 图像无缝拼接,OpenCV Python 系列教程3 - Core 组件

    基本知识 灰度图像的存储方式: image 多通道图像存储方式 image OpenCV 中的通道存储为 BGR 像素值的存储方式 RGB 模式,显示设备采用这种模式 HSV.HLS 将颜色分解成色调 ...

  7. 如何快速将多图片合并拼接成一张大图并保留原图质量 - 极速图片合成拼接器软件简介

    在工作中我们有时需要把多张图片打印在一张纸上,那就必须手动排列和调整每张图片的大小,这可是一项费时费力的任务. 借助极速图片合成拼接器这款软件,终于可以快速自动解决这种任务啦! 它是一款可以自动一次性 ...

  8. python 图像无缝拼接_Python+OpenCV实现图像的全景拼接的代码

    环境:python3.5.2 + openCV3.4 1.算法目的 将两张相同场景的场景图片进行全景拼接. 2.算法步骤 本算法基本步骤有以下几步: 步骤1:将图形先进行桶形矫正 没有进行桶形变换的图 ...

  9. WPF——后台代码实现将多张图片拼接成一张

    1. 利用DrawingVisual实现绘制拼接 2. 将DrawingVisual转为RenderTargetBitmap 3. 最后再通过复制像素转为WriteableBitmap using S ...

最新文章

  1. install virtualenv
  2. Newtonsoft.Json高级用法
  3. Transaction中的SQL死锁
  4. Python Elasticsearch 插入数据
  5. 5.与HTTP协作的Web服务器
  6. SQL Server 2005 COM+ 目录要求”警告
  7. 最小生成树--Boruvka算法
  8. adb 启动命令,pc启动两个微信,INSTALL_FAILED_CONFLICTING_PROVIDER
  9. python列表内元素求和_Python之list对应元素求和
  10. 归并排序法计算逆序对数
  11. 凯西·奥尼尔:盲目信仰大数据的时代必须结束 | 算法密码
  12. Java实现智能对话机器人自动聊天+语音秒回
  13. C语言 - 详解回调函数
  14. TensorFlow 2.0 Alpha 版发布啦!
  15. win10Ie重置.html默认应用设置,win10系统IE浏览器设置为默认浏览器的操作方法
  16. 中国程序员的真实工资亦或幸福指数
  17. Android App屏幕旋转要点
  18. If you would like to submit a bug report, please visit:
  19. 解决unix:///var/run/supervisor/supervisor.sock no such file问题
  20. 谐波小波matlab,基于MATLAB小波变换在电网谐波检测的仿真与研究

热门文章

  1. 【python+爬虫】爬去猫眼电影前100名具体信息
  2. python中字符串单引号与双引号及转义的坑
  3. 你真的了解宏 MIN(X,Y)吗?
  4. java中多态的学习
  5. 平面构成的基本形式(上)
  6. 容器编排——Kubeadm在线或离线搭建kubernetes高可用集群
  7. 自信的真正含义(转载)
  8. 如何去除微信小程序里面的button按钮边框
  9. python三引号注释_Python注释————三引号分析
  10. css如何使下划线位置远,使用css调整下划线和文本之间的距离