来源:https://ww2.mathworks.cn/help/matlab/ref/imread.html?searchHighlight=imread&s_tid=doc_srchtitle
imread
说明
示例
A = imread(filename ) 从 filename 指定的文件读取图像,并从文件内容推断出其格式。如果 filename 为多图像文件,则 imread 读取该文件中的第一个图像。
A = imread(filename ,fmt ) 另外还指定具有 fmt 指示的标准文件扩展名的文件的格式。如果 imread 找不到具有 filename 指定的名称的文件,则会查找名为 filename.fmt 的文件。
A = imread(___,idx ) 从多图像文件读取指定的图像。此语法仅适用于 GIF、CUR、ICO、TIF 和 HDF4 文件。您必须指定 filename 输入,也可以指定 fmt 。
示例
A = imread(___,Name,Value ) 使用一个或多个名称-值对组参数以及先前语法中的任何输入参数来指定格式特定的选项。
示例
[A ,map ] = imread(___) 将 filename 中的索引图像读入 A ,并将其关联的颜色图读入 map 。图像文件中的颜色图值会自动重新调整到范围 [0,1] 中。
示例
[A ,map ,transparency ] = imread(___) 另外还返回图像透明度。此语法仅适用于 PNG、CUR 和 ICO 文件。对于 PNG 文件,如果存在 alpha 通道,transparency 会返回该 alpha 通道。对于 CUR 和 ICO 文件,它为 AND(不透明度)掩码。
示例
全部折叠
读取和显示图像
读取示例图。
imread 返回 650×600×3 数组 A 。
显示图像。
将索引图像转换成 RGB
读取索引图像示例文件 corn.tif 中的第一幅图像。
索引图像 X 是 uint8 类型的 415×312 数组。颜色图 cmap 是 double 类型的 256×3 矩阵,因此索引图像中有 256 种颜色。显示图像。
将索引图像转换为 RGB 图像。结果为一个 double 类型的 415×312×3 数组。
检查 RGB 图像的值是否在 [0, 1] 范围内。
Range of RGB image is [0.0078431, 0.97647].
返回 PNG 图像的 Alpha 通道
返回示例图 peppers.png 的 Alpha 通道。
Name Size Bytes Class Attributes
alpha 0x0 0 double
没有提供 Alpha 通道,因此 alpha 为空。
读取 TIFF 图像的指定区域
读取示例图 corn.tif 像素的特定区域。
用表示要读取的区域边界的向量元胞数组指定 \'PixelRegion\' 参数。第一向量指定要读取的行范围,第二向量指定要读取的列范围。
imread 读取 corn.tif 中 1–2 行和 2–5 列的图像数据,并返回 2×4 数组 A 。
输入参数
全部折叠
filename - 图形文件名 字符向量 | 字符串标量
图形文件的名称,指定为字符向量或字符串标量。
根据文件的位置,filename 可以采用下列形式之一。
位置
|
形式
|
当前文件夹或 MATLAB® 路径上的文件夹 |
指定 filename 中文件的名称。
示例:\'myImage.jpg\'
|
文件夹中的文件
|
如果该文件不在当前文件夹或 MATLAB 路径下的文件夹中,则指定完整或相对路径名。
示例:\'C:\myFolder\myImage.ext\'
示例:\'\imgDir\myImage.ext\'
|
URL |
如果文件是通过 Internet URL 定位的,则 filename 必须包含协议类型,例如 http:// 。
示例:\'http://hostname/path_to_file/my_image.jpg\'
|
远程位置
|
如果文件存储在远程位置,则 filename 必须包含文件的完整路径,指定为以下形式的国际化资源标识符 (IRI):
scheme_name ://path_to_file /my_file.ext
根据您的远程位置,scheme_name 可以是下表中的值之一。
远程位置 | scheme_name |
Amazon S3™ |
s3 |
Windows Azure® Blob Storage |
wasb , wasbs |
HDFS™ |
hdfs |
有关详细信息,请参阅处理远程数据。
示例:\'s3://bucketname/path_to_file/my_image.jpg\'
|
有关每种文件类型支持的位深度、压缩方案和颜色空间的信息,请参阅算法。
数据类型: char | string
fmt - 图像格式 字符向量 | 字符串标量
图像格式,指定为指示标准文件扩展名的字符向量或字符串标量。调用 imformats 可查看支持的格式及其文件扩展名列表。
示例: \'png\'
数据类型: char | string
idx - 要读取的图像 整数标量 | 整数向量
要读取的图像,指定为整数标量或整数向量(对于 GIF 文件)。例如,如果 idx 为 3,则 imread 将返回文件中的第三个图像。对于 GIF 文件,如果 idx 为 1:5 ,则 imread 仅返回前五个帧。idx 参数仅支持用于多图像 GIF、CUR、ICO 和 HDF4 文件。
从同一 GIF 文件读取多个帧时,请将 idx 指定为帧向量或使用 \'Frames\',\'all\' 名称-值对组参数。由于构造 GIF 文件的方式,这些语法可提供比循环调用 imread 更快的性能。
对应 HDF4 文件,idx 对应于要读取的图像的引用编号。引用编号不一定与文件中图像的顺序对应。您可以使用 imfinfo 将图像顺序与引用编号进行匹配。
示例: 3
数据类型: double
名称-值对组参数
指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN 所示。
示例: \'Index\',5 读取 TIFF 文件的第五个图像。
GIF 文件
全部折叠
\'Frames\' - 要读取的帧 1 (默认) | 正整数 | 整数向量 | \'all\'
要读取的帧,指定为逗号分隔的对组,其中包含 \'Frames\' 和一个正整数、整数向量或 \'all\' 。例如,如果指定值 3,imread 将读取文件中的第三个帧。如果您指定 \'all\' ,则 imread 读取所有帧并按其在文件中显示的顺序返回这些帧。
示例: \'frames\',5
JPEG 2000 文件
全部折叠
\'PixelRegion\' - 要读取的子图像
{rows,cols} 形式的元胞数组
要读取的子图像,指定为包含 \'PixelRegion\' 和 {rows,cols} 形式的元胞数组的逗号分隔对组。rows 输入指定要读取的行范围。cols 输入指定要读取的列范围。rows 和 cols 都必须为包含以 1 开始的索引的二元素向量。例如,\'PixelRegion\',{[1 2],[3 4]} 读取图像数据的第 1 和第 2 行以及第 3 和第 4 列界定的子图像。如果 \'ReductionLevel\' 值大于 0,则 rows 和 cols 为子图像的坐标。
示例: \'PixelRegion\',{[1 100],[4 500]}
\'ReductionLevel\' - 降低图像分辨率 0 (默认) | 非负整数
降低的图像分辨率,指定为以逗号分隔的对组,包含 \'ReductionLevel\' 和一个非负整数。对于约简级别 L,图像分辨率按因子 2^L 进行约简。约简级别受限于 imfinfo 函数输出中的 \'WaveletDecompositionLevels\' 字段指定的分解级别总数。
示例: \'ReductionLevel\',5
数据类型: single | double
\'V79Compatible\' - 与 MATLAB 7.9 (R2009b) 及更早版本的兼容性
false (默认) | true
与 MATLAB 7.9 (R2009b) 及更早版本的兼容性,指定为包含 \'V79Compatible\' 以及 true 或 false 的逗号分隔对组。如果您指定 true ,则返回的灰度或 RGB 图像与之前版本的 imread (MATLAB 7.9 (R2009b) 及更早版本)一致。
示例: \'V79Compatible\',true
数据类型: logical
PNG 文件
全部折叠
\'BackgroundColor\' - 背景色
\'none\' | 整数 | 3 元素整数向量
背景色,指定为 \'none\' 、整数或三元素整数向量。如果 BackgroundColor 为 \'none\' ,则 imread 不执行任何组合操作。否则,imread 将透明像素与背景色混合。
-
如果输入图像为索引图像,BackgroundColor 的值必须为 [1,P] 范围中的一个整数,其中 P 是颜色图长度。
-
如果输入图像为灰度,则 BackgroundColor 的值必须为 [0,1] 范围中的整数。
-
如果输入图像为 RGB,则 BackgroundColor 的值必须为三元素向量,其中的值介于 [0,1] 范围内。
BackgroundColor 的默认值取决于 transparency 输出参数和图像类型的存在性:
-
如果您请求 transparency 输出参数,则 BackgroundColor 的默认值为 \'none\' 。
-
如果您不请求 transparency 输出且 PNG 文件包含背景色块,则该颜色是 BackgroundColor 的默认值。
-
如果不请求 transparency 输出并且文件不包含背景色块,则对于索引图像,BackgroundColor 的默认值为 1 ;对于灰度图像,默认值为 0 ;对于真彩色 (RGB) 图像,默认值为 [0 0 0] 。
TIFF 文件
全部折叠
\'Index\' - 要读取的图像 1 (默认) | 正整数
要读取的图像,指定为包含 \'Index\' 和正整数的逗号分隔对组。例如,如果 Index 的值为 3,则 imread 读取文件中的第三个图像。
数据类型: single | double
\'Info\' - 图像的相关信息 结构体数组
图像的相关信息,指定为包含 \'Info\' 和 imfinfo 函数返回的结构体数组的逗号分隔对组。使用 Info 名称-值对组参数可帮助 imread 更快地找到多图像 TIFF 文件中的图像。
数据类型: struct
\'PixelRegion\' - 区域边界 元胞数组
区域边界,指定为包含 \'PixelRegion\' 和一个 {rows,cols} 形式的元胞数组的逗号分隔对组。rows 输入指定要读取的行范围。cols 输入指定要读取的列范围。rows 和 cols 必须为二元素或三元素的从 1 开始的索引向量。二元素向量指定要读取的第一行和最后一行或第一列和最后一列。例如,\'PixelRegion\',{[1 2],[3 4]} 读取图像数据的第 1 和第 2 行以及第 3 和第 4 列界定的区域。
三元素向量的形式必须为 [start increment stop] ,其中 start 是要读取的第一行或第一列,increment 是增量值,stop 是要读取的最后一行或最后一列。此语法支持图像减采样。例如,\'PixelRegion\',{[1 2 10],[4 3 12]} 读取由第 1 和第 10 行以及第 4 和第 12 列界定的区域,在垂直方向每隔 2 个像素进行数据采样,在水平方向每隔 3 个像素进行数据抽样。
示例: \'PixelRegion\',{[1 100],[4 500]}
数据类型: cell
输出参数
全部折叠
A - 图像数据 数组
图像数据,以数组的形式返回。
-
如果文件包含灰度图像,则 A 为 m ×n 数组。
-
如果文件包含索引图像,则 A 为 m ×n 数组,其中的索引值对应于 map 中该索引处的颜色。
-
如果文件包含真彩色图像,则 A 为 m ×n ×3 数组。
-
如果文件是一个包含使用 CMYK 颜色空间的彩色图像的 TIFF 文件,则 A 为 m ×n ×4 数组。
A 的类取决于图像数据的图像格式和位深。有关详细信息,请参阅 算法
map - Colormap
m ×3 的矩阵
与 A 中的索引图像数据关联的颜色图,以 m ×3 的 double 类矩阵形式返回。
transparency - 透明度信息 矩阵
以矩阵形式返回的透明度信息。对于 PNG 文件,transparency 为 alpha 通道(若存在)。如果不存在 alpha 通道,或者如果指定了 \'BackgroundColor\' 名称-值对组参数,则 transparency 为空。对于 CUR 和 ICO 文件,transparency 是 AND 掩码。对于光标文件,该掩码有时仅包含有用的数据。
详细信息
全部折叠
位深
位深是指用于表示每个图像像素的位数。
位深是通过将每样本位数与每像素样本数相乘而得。因此,使用每个颜色分量(或样本)8 位和每像素三个样本的格式的位深为 24。有时,与位深关联的样本大小可能不确定。例如,48 位的位深是表示 6 个 8 位样本、4 个 12 位样本,还是表示 3 个 16 位样本?请参阅 算法 了解样本大小信息以避免这种多义性。
算法
全部折叠
对于大多数图像文件格式,imread 对每个颜色平面使用 8 位或更少位来存储图像像素。此表列出了返回的图像数组 A 与文件格式使用的位深对应的类。
文件中的位深
|
imread 返回的数组的类
|
每像素 1 位
|
logical
|
每颜色平面 2 到 8 位
|
uint8
|
每像素 9 位到 16 位
|
uint16 (BMP 、JPEG 、PNG 和 TIFF )
对于 16 位的 BMP 压缩格式 (5-6-5),MATLAB 返回 uint8
|
以下部分提供了有关特定格式的支持信息,各格式按名称的字母顺序列出。
BMP - Windows 位图
此表列出了输出图像数据数组支持的位深和数据类型。
支持的位深 | 无压缩 | RLE 压缩 | 输出类 | 注释 |
1 位 |
✓ |
– |
logical |
|
4 位 |
✓ |
✓ |
uint8 |
|
8 位 |
✓ |
✓ |
uint8 |
|
16 位 |
✓ |
– |
uint8 |
1 个样本/像素 |
24 位 |
✓ |
– |
uint8 |
3 个样本/像素 |
32 位 |
✓ |
– |
uint8 |
3 个样本/像素 (1 个字节填充) |
CUR - 光标文件
此表列出了输出图像数据数组支持的位深和数据类型。
支持的位深 | 无压缩 | 压缩 | 输出类 |
1 位 |
✓ |
– |
logical |
4 位 |
✓ |
– |
uint8 |
8 位 |
✓ |
– |
uint8 |
注意
默认情况下,Microsoft® Windows® 光标为 32×32 像素。因为 MATLAB 指针必须为 16×16,所以您可能需要缩放图像。如果您有 Image Processing Toolbox™,则可以使用 imresize 函数。
GIF - 图形交换格式
此表列出了输出图像数据数组支持的位深和数据类型。
支持的位深 | 无压缩 | 压缩 | 输出类 |
1 位 |
✓ |
– |
logical |
2 位到 8 位 |
✓ |
– |
uint8 |
HDF4 - 分层数据格式
此表列出了输出图像数据数组支持的位深和数据类型。
支持的位深 | 带有颜色图的光栅图像 | 不带颜色图的光栅图像 | 输出类 | 注释 |
8 位 |
✓ |
✓ |
uint8 |
|
24 位 |
– |
✓ |
uint8 |
3 个样本/像素 |
JPEG - 联合图像专家组
imread 读取任何基准 JPEG 图像以及带有某些常用扩展名的 JPEG 图像。有关 JPEG 2000 文件支持的信息,请参阅 JPEG 2000。
支持的采样位数 | 有损压缩 | 无损压缩 | 输出类 | 注释 |
8 位 |
✓ |
✓ |
uint8 |
灰度或 RGB |
12 位 |
✓ |
✓ |
uint16 |
灰度或 RGB |
16 位 |
– |
✓ |
uint16 |
灰度 |
JPEG 2000 - 联合图像专家组 2000
有关 JPEG 文件的信息,请参阅 JPEG。
注意
不支持 JPEG 2000 索引图像。JP2/JPX 文件仅支持 JP2 兼容颜色空间。默认情况下,将按图像在文件中的存储顺序返回所有图像通道。
支持的采样位数
| 有损压缩 | 无损压缩 | 输出类 | 注释 |
1 位 |
✓ |
✓ |
logical |
仅限灰度 |
2 位到 8 位 |
✓ |
✓ |
uint8 或 int8 |
灰度 或 RGB |
9 位到 16 位 |
✓ |
✓ |
uint16 或 int16 |
灰度 或 RGB |
PBM - 可移植位图
此表列出了输出图像数据数组支持的位深和数据类型。
支持的位深 | 原始二进制 | ASCII(普通)编码 | 输出类 |
1 位 |
✓ |
✓ |
logical |
PCX - Windows 画笔
此表列出了输出图像数据数组支持的位深和数据类型。
支持的位深 | 输出类 | 注释 |
1 位 |
logical |
仅限灰度 |
8 位 |
uint8 |
灰度或索引图像 |
24 位 |
uint8 |
RGB 3 个 8 位样本/像素 |
PGM - 可移植灰度图
此表列出了输出图像数据数组支持的位深和数据类型。
支持的位深 | 原始二进制 | ASCII(普通)编码 | 输出类 | 注释 |
8 位 |
✓ |
– |
uint8 |
|
16 位 |
✓ |
– |
uint16 |
|
任意 |
– |
✓ |
1 位到 8 位:uint8 9 位到 16 位:uint16 |
值被缩放 |
PNG - 可移植网络图形
此表列出了输出图像数据数组支持的位深和数据类型。
支持的位深 | 输出类 | 注释 |
1 位 |
logical |
灰度 |
2 位 |
uint8 |
灰度 |
4 位 |
uint8 |
灰度 |
8 位 |
uint8 |
灰度或索引图像 |
16 位 |
uint16 |
灰度或索引图像 |
24 位 |
|
-
六六分期app的软件客服如何联系?不知道吗?加qq群【895510560】即可!标题:六六分期
阅读:18775|2023-10-27
-
今天小编告诉大家如何处理win10系统火狐flash插件总是崩溃的问题,可能很多用户都不知
阅读:9852|2022-11-06
-
今天小编告诉大家如何对win10系统删除桌面回收站图标进行设置,可能很多用户都不知道
阅读:8273|2022-11-06
-
今天小编告诉大家如何对win10系统电脑设置节能降温的设置方法,想必大家都遇到过需要
阅读:8633|2022-11-06
-
我们在使用xp系统的过程中,经常需要对xp系统无线网络安装向导设置进行设置,可能很多
阅读:8559|2022-11-06
-
今天小编告诉大家如何处理win7系统玩cf老是与主机连接不稳定的问题,可能很多用户都不
阅读:9559|2022-11-06
-
电脑对日常生活的重要性小编就不多说了,可是一旦碰到win7系统设置cf烟雾头的问题,很
阅读:8552|2022-11-06
-
我们在日常使用电脑的时候,有的小伙伴们可能在打开应用的时候会遇见提示应用程序无法
阅读:7951|2022-11-06
-
今天小编告诉大家如何对win7系统打开vcf文件进行设置,可能很多用户都不知道怎么对win
阅读:8553|2022-11-06
-
今天小编告诉大家如何对win10系统s4开启USB调试模式进行设置,可能很多用户都不知道怎
阅读:7474|2022-11-06
|
请发表评论