imtile
将多个图像帧合并为一个矩形分块图
语法
说明
返回包含 ImageDatastore 对象 out
= imtile(imds
)imds
中指定的图像的分块图。有关图像数据存储的信息,请参阅 ImageDatastore
。
返回一个自定义分块图,具体取决于可选参数名称-值对组参量的值。out
= imtile(___,Name,Value
)
示例
从文件创建分块图
从文件中将多个图像读取到工作区中,并创建一个包含这些图像的分块图。显示该分块图。
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');
创建一个分块图,其中包含 RGB 图像的三个平面。显示该分块图。
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);
输入参数
filenames
— 包含图像的文件的名称
f×1 字符串数组 | 1×f 字符串数组 | 字符向量 | 字符向量元胞数组
包含图像的文件的名称,指定为 f×1 字符串数组、1×f 字符串数组、字符向量或字符向量元胞数组。如果该文件不在当前文件夹或 MATLAB® 路径下的文件夹中,则指定完整路径名。有关详细信息,请参阅 imread
。
示例: 'file1.jpg'
示例: ["file1.jpg" "file2.jpg"]
示例: '../dir/data/file1.png'
示例: {'C:\dir\data\file1.tif','C:\dir\data\file2.tif'}
数据类型: char
| string
| cell
I
— 多帧图像
数值数组
多帧图像,指定为数值数组。I
可以是:
一个 m×n×k 数组,表示由 k 个二值图像、灰度图像或索引图像组成的序列
一个 m×n×1×k 数组,表示由 k 个二值图像、灰度图像或索引图像组成的序列
一个 m×n×3×k 数组,表示由 k 个真彩色图像组成的序列
images
— 图像列表
k×1 元胞数组 | 1×k 元胞数组
图像列表,指定为数值矩阵的 k×1 或 1×k 元胞数组。元胞数组可以包含大小为 m×n 或 m×n×3 的数值矩阵。
imds
— 图像数据存储
ImageDatastore
对象
图像数据存储,指定为 ImageDatastore
对象。
map
— 颜色图
c×3 数值矩阵
颜色图,指定为由范围 [0,1] 内的值组成的 c×3 数值矩阵。map
的每行都是一个包含三个元素的 RGB 三元组,指定单种颜色的红、绿和蓝分量。当您指定 map
时,imtile
函数使用此颜色图将所有索引图像、灰度图像和二值图像转换为真彩色。
数据类型: double
名称-值参数
将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参量名称,Value
是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: imtile({'peppers.png','ngc6543a.jpg'},'BackgroundColor','g');
BackgroundColor
— 背景颜色
'black'
(默认) | RGB 三元组 | 颜色名称 | 短颜色名称
背景的颜色,指定为 RGB 三元组、颜色名称或短颜色名称。imtile
函数使用此颜色填充所有空白区,包括 '
指定的区域。BorderSize
'
您可以使用 RGB 三元组指定任何颜色。RGB 三元组是一个包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度必须处于范围 [0,1] 中。
您可以按名称将一些常见颜色指定为字符串标量或字符向量。下表列出了命名颜色选项和等效的 RGB 三元组。
颜色名称 | 短名称 | RGB 三元组 | 外观 |
---|---|---|---|
'red' | 'r' | [1 0 0] | |
'green' | 'g' | [0 1 0] | |
'blue' | 'b' | [0 0 1] | |
'cyan' | 'c' | [0 1 1] | |
'magenta' | 'm' | [1 0 1] | |
'yellow' | 'y' | [1 1 0] | |
'black' | 'k' | [0 0 0] | |
'white' | 'w' | [1 1 1] | |
示例: 'BackgroundColor','r'
示例: 'BackgroundColor','green'
示例: 'BackgroundColor',[0 0.4470 0.7410]
BorderSize
— 每个缩略图周围的填充
[0 0]
(默认) | 数值标量 | 1×2 数值向量
每个缩略图周围的填充,指定为以逗号分隔的对组,该对组由 'BorderSize'
和数值标量或形式为 [brows bcols]
的 1×2 数值向量组成。imtile
函数用背景颜色填充每个图像的边框。
Frames
— 要包含的帧
图像总数 (默认) | 数值数组 | 逻辑值
要包含的帧,指定为以逗号分隔的对组,该对组由 'Frames'
和数值数组或逻辑值组成。imtile
函数将值解释为图像数组或元胞数组的索引。以下示例创建包含前三个图像帧的分块图。
示例: out = imtile(I,'Frames',1:3);
示例: out = imtile(I,'Frames',[true true true]);
GridSize
— 缩略图的行数和列数
二元素向量
分块图中缩略图的行数和列数,指定为以逗号分隔的对组,该对组由 'GridSize'
和 [nrows ncols]
形式的二元素向量组成。nrows
指定网格中的行数,ncols
指定网格中的列数。使用 NaN
或 Inf
使 imtile
以包含所有图像的方式计算特定维度的大小。
如果
'GridSize'
是[2 NaN]
,则imtile
会创建一个分块图,其中包含两行以及包括所有图像所需的列数。如果两个元素均为
NaN
或Inf
,则imtile
会计算网格大小以形成一个正方形。imtile
会以从左到右、从上到下的排列方式返回图像。如果
GridSize
与图像(帧)数不匹配,则imtile
将根据GridSize
创建分块图。
ThumbnailSize
— 缩略图的大小
第一个图像的完整大小 (默认) | 二元素向量
缩略图的大小,指定为以逗号分隔的对组,该对组由 'ThumbnailSize'
和 [trows tcols]
形式的二元素向量组成(以像素为单位)。imtile
函数通过用零填充边界来保留原始图像的纵横比。
如果指定
NaN
或Inf
,则imtile
函数会自动计算对应的值以保留第一个图像的纵横比。如果指定空数组 (
[]
),则imtile
函数将第一个图像的完整大小用作缩略图大小。
输出参量
out
— 图块输出图像
数值矩阵 | 数值数组
图块输出图像,以数值矩阵或数值数组形式返回。当以下任一条件成立时,输出图像为 M×N×3 数值数组:
至少一个输入图像是 RGB 图像或索引图像
指定了颜色图
map
您指定了背景颜色
'
,无论分块图像是否包含背景像素BackgroundColor
'
扩展功能
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
版本历史记录
在 R2018b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)