imread
从图形文件读取图像
语法
描述
例子
读取和显示图像
将索引图像转换为RGB
读取样本索引图像文件中的第一张图像,corn.tif
.
[X,cmap] = imread(“corn.tif”);
索引图像X
一个415 × 312的数组是类型吗uint8
.的colormap提出
是256 × 3矩阵的类型吗双
,因此索引图像中有256种颜色。显示图像。
imshow (X,提出)
将索引图像转换为RGB图像。结果是一个类型为415 × 312 × 3的数组双
.
RGB = ind2rgb(X,cmap);
检查RGB图像的值是否在[0,1]范围内。
disp ([' RGB图像的范围是'num2str (min (RGB (:))),”、“num2str (max (RGB (:))),“]”。])
RGB图像的范围为[0.0078431,0.97647]。
在多页TIFF文件中读取特定图像
返回PNG图像的Alpha通道
返回样本图像的alpha通道,peppers.png
.
[X,map,alpha] = imread(“peppers.png”);谁α
名称大小字节类属性alpha 0x0 0 double
没有alpha通道,所以α
是空的。
读取TIFF图像的指定区域
读取样本图像的特定像素区域,corn.tif
.
指定“PixelRegion”
参数,其中的向量单元格数组表示要读取的区域的边界。第一个向量指定要读取的行范围,第二个向量指定要读取的列范围。
A = imread(“corn.tif”,“PixelRegion”,{[1,2],[2、5]});
imread
从中读取1-2行和2-5列中的图像数据corn.tif
并返回2 × 4的数组,一个
.
输入参数
文件名
- - - - - -图形文件名称
特征向量|字符串标量
图形文件的名称,指定为字符向量或字符串标量。
根据文件的位置,文件名
可以变成这些形式之一。
位置 |
形式 |
||||||||
---|---|---|---|---|---|---|---|---|---|
MATLAB中的当前文件夹或文件夹®路径 | 中指定文件的名称 例子: |
||||||||
文件夹中的文件 |
如果文件不在当前文件夹或MATLAB路径上的文件夹中,则指定完整或相对路径名。 例子: 例子: |
||||||||
URL | 如果文件是通过internet URL找到的,那么 例子: |
||||||||
远程位置 |
如果文件存储在远程位置,则
根据位置的远近
有关更多信息,请参见使用远程数据. 例子: |
有关每种文件类型支持的位深度、压缩方案和颜色空间的信息,请参见金宝app算法.
数据类型:字符
|字符串
fmt
- - - - - -图像格式
特征向量|字符串标量
图像格式,指定为字符向量或表示标准文件扩展名的字符串标量。调用imformats
查看支持的格式及其文件扩展名的列表金宝app。
例子:“png”
数据类型:字符
|字符串
idx
- - - - - -待读取的图像
整数标量|整数向量
要读取的图像,指定为整数标量,对于GIF文件,指定为整数向量。例如,如果idx
那么是3imread
返回文件中的第三张图像。对于GIF文件,如果idx
是1:5
,然后imread
只返回前五帧。的idx
参数仅支持多图像GIF、金宝appCUR、ICO和HDF4文件。
当从同一个GIF文件读取多个帧时,指定idx
作为向量的帧或使用“帧”,“所有”
名称-值对参数。由于GIF文件的结构方式,这些语法提供了比调用更快的性能imread
在一个循环中。
对于HDF4文件,idx
对应于要读取的图像的引用号。参考编号不一定与文件中图像的顺序相对应。你可以使用imfinfo
匹配图像顺序与参考编号。
例子:3.
数据类型:双
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:“指数”,5
读取TIFF文件的第五张图像。
帧
- - - - - -要读取的帧
1(默认)|正整数|整数向量|“所有”
要读取的帧,指定为逗号分隔的对,由“帧”
一个正整数,一个整数向量,或者“所有”
.例如,如果指定值为3,imread
读取文件中的第三帧。如果你指定“所有”
,然后imread
读取所有帧,并按照它们在文件中出现的顺序返回它们。
例子:“帧”,5
PixelRegion
- - - - - -要读取的子图像
窗体中的单元格数组{行,关口}
子图像,指定为由逗号分隔的对组成“PixelRegion”
和窗体的单元格数组{行,关口}
.的行
Input指定要读取的行范围。的关口
Input指定要读取的列的范围。这两个行
而且关口
必须是包含基于1的索引的两元素向量。例如,'PixelRegion',{[1 2],[3 4]}
读取图像数据中第1、2行和第3、4列所限定的子图像。如果“ReductionLevel”
Value大于0,则行
而且关口
是子图像的坐标。
例子:'PixelRegion',{[1 100],[4 500]}
ReductionLevel
- - - - - -降低图像分辨率
0(默认)|非负整数
图像分辨率的降低,指定为由逗号分隔的对组成“ReductionLevel”
和一个非负整数。对于降低水平l时,图像分辨率降低了2^l.类指定的分解级别的总数限制了还原级别“WaveletDecompositionLevels”
属性的输出中的imfinfo
函数。
例子:“ReductionLevel”,5
数据类型:单
|双
V79Compatible
- - - - - -兼容MATLAB 7.9 (R2009b)及更早版本
假
(默认)|真正的
兼容MATLAB 7.9 (R2009b)及更早版本,指定为由逗号分隔的对组成“V79Compatible”
,要么真正的
或假
.如果你指定真正的
,则返回的灰度或RGB图像与以前版本一致imread
(MATLAB 7.9 (R2009b)及更早版本)。
例子:“V79Compatible”,真的
数据类型:逻辑
写成BackgroundColor
- - - - - -背景颜色
“没有”
|整数|3元整数向量
背景颜色,指定为“没有”
一个整数,或三个元素的整数向量。如果写成BackgroundColor
是“没有”
,然后imread
不执行任何合成。否则,imread
混合透明像素与背景色。
如果输入图像已被索引,则
写成BackgroundColor
必须是范围内的整数吗(1, P)
,在那里P
是颜色映射长度。如果输入图像是灰度的,则的值
写成BackgroundColor
必须是范围内的整数吗[0, 1]
.如果输入图像为RGB,则
写成BackgroundColor
必须是值在范围内的三个元素向量[0, 1]
.
的默认值写成BackgroundColor
的存在透明度
输出参数和图像类型:
如你要求
透明度
的默认值写成BackgroundColor
是“没有”
.如果您没有请求
透明度
输出和PNG文件中包含的背景颜色块,则该颜色为默认值写成BackgroundColor
.如果您没有请求
透明度
输出且文件中不包含背景色的块,则为默认值写成BackgroundColor
是1
对于索引图像,0
对于灰度图像,和[0 0 0]
用于真彩色(RGB)图像。
指数
- - - - - -待读取的图像
1(默认)|正整数
要读取的图像,指定为由逗号分隔的对组成“指数”
一个正整数。例如,的值指数
那么是3imread
读取文件中的第三个图像。
数据类型:单
|双
信息
- - - - - -图像信息
结构数组
有关映像的信息,指定为逗号分隔的对,由“信息”
函数返回的结构数组imfinfo
函数。使用信息
名称-值对参数来提供帮助imread
更快速地在多图像TIFF文件中定位图像。
数据类型:结构体
PixelRegion
- - - - - -区域边界
单元阵列
区域边界,指定为逗号分隔的对,由“PixelRegion”
和窗体的单元格数组{行,关口}
.的行
Input指定要读取的行范围。的关口
Input指定要读取的列的范围。行
而且关口
必须是基于1的指标的两元素或三元素向量。双元素向量指定要读取的第一行或最后一列。例如,'PixelRegion',{[1 2],[3 4]}
读取图像数据中第1行和第2行以及第3列和第4列所限定的区域。
三元素向量必须是这样的形式[开始增量停止]
,在那里开始
是要读取的第一行或第一列,增量
是增量值,和停止
要读取的最后一行或最后一列。这个语法允许图像下采样。例如,'PixelRegion',{[1 2 10],[4 3 12]}
读取以第1行和第10行以及第4列和第12列为界的区域,并在垂直方向上每2个像素采样一次,在水平方向上每3个像素采样一次。
例子:'PixelRegion',{[1 100],[4 500]}
数据类型:细胞
输出参数
一个
-图像数据
数组
图像数据,作为数组返回。
如果文件包含灰度图像,则a为
米
——- - - - - -n
数组中。如果文件包含索引图像,则A是
米
——- - - - - -n
中与该索引处的颜色对应的索引值数组地图
.如果文件包含真彩色图像,则a是
米
——- - - - - -n
3数组。如果文件是包含使用CMYK颜色空间的彩色图像的TIFF文件,则a是
米
——- - - - - -n
4数组。
这类人一个
取决于图像格式和图像数据的位深度。有关更多信息,请参见算法
地图
——Colormap
米
3矩阵
与索引图像数据相关联的色度图一个
,作为米
类的-by-3矩阵双
.
透明度
-透明度信息
矩阵
透明度信息,以矩阵形式返回。对于PNG文件,透明度
是alpha通道,如果存在。如果没有alpha通道,或者指定“写成BackgroundColor”
名称-值对参数透明度
是空的。对于CUR和ICO文件,透明度
是AND掩模。对于游标文件,此掩码有时只包含有用的数据。
更多关于
算法
对于大多数图像文件格式,imread
每个颜色平面使用8位或更少的位来存储图像像素。该表列出了返回的图像数组的类,一个
,表示文件格式所使用的位深度。
文件位深度 |
返回的数组的类 |
---|---|
每像素1位 |
|
每个颜色平面2到8位 |
|
每像素9到16位 |
对于16位BMP打包格式(5-6-5),MATLAB返回 |
以下部分提供了关于对特定格式的支持的信息,按格式名称的字母顺序列出。金宝app
BMP - Windows位图 | 联合摄影专家组 | PNG -便携式网络图形 |
CUR -游标文件 | 联合摄影专家组2000年 | PPM -便携式Pixmap |
图形交换格式 | 便携式位图 | RAS -太阳光栅 |
分级数据格式 | PCX - Windows油漆刷 | 标记图像文件格式 |
ICO -图标文件 | PGM -便携式灰度图 | 窗口转储 |
BMP -窗户位图
该表列出了支持的位深度和输出图像数金宝app据数组的数据类型。
金宝app支撑位深度 | 没有压缩 | RLE压缩 | 输出类 | 笔记 |
---|---|---|---|---|
1位 | ✓ | - - - - - - | 逻辑 |
|
4位 | ✓ | ✓ | uint8 |
|
8位 | ✓ | ✓ | uint8 |
|
16位 | ✓ | - - - - - - | uint8 |
1样品/像素 |
24位 | ✓ | - - - - - - | uint8 |
3样品/像素 |
32位 | ✓ | - - - - - - | uint8 |
3样品/像素 (1字节填充) |
CUR -游标文件
图形交换格式
该表列出了支持的位深度和输出图像数金宝app据数组的数据类型。
金宝app支撑位深度 | 没有压缩 | 压缩 | 输出类 |
---|---|---|---|
1位 | ✓ | - - - - - - | 逻辑 |
2位到8位 | ✓ | - - - - - - | uint8 |
分级数据格式
该表列出了支持的位深度和输出图像数金宝app据数组的数据类型。
金宝app支撑位深度 | 栅格图像与色彩地图 | 光栅图像没有颜色贴图 | 输出类 | 笔记 |
---|---|---|---|---|
8位 | ✓ | ✓ | uint8 |
|
24位 | - - - - - - | ✓ | uint8 |
3样品/像素 |
ICO -图标文件
联合摄影专家组
imread
读取任何基线JPEG图像,以及一些常用扩展的JPEG图像。有关jpeg2000文件支持的信息,请参见金宝appJPEG 2000.
金宝app每个样本支持位 | 有损压缩 | 无损压缩 | 输出类 | 笔记 |
---|---|---|---|---|
8位 | ✓ | ✓ | uint8 |
灰度或RGB |
12位 | ✓ | ✓ | uint16 |
灰度或RGB |
16位 | - - - - - - | ✓ | uint16 |
灰度 |
联合摄影专家组2000年
有关JPEG文件的信息,请参见JPEG.
请注意
不支持索引JPEG 2000图像。金宝appJP2/JPX文件只支持与JP2兼容的颜色空间。金宝app默认情况下,所有图像通道将按照它们在文件中存储的顺序返回。
金宝app每个样本支持位 |
有损压缩 | 无损压缩 | 输出类 | 笔记 |
---|---|---|---|---|
1位 | ✓ | ✓ | 逻辑 |
灰度只 |
2位到8位 | ✓ | ✓ | uint8 或int8 |
灰度 或RGB |
9位~ 16位 | ✓ | ✓ | uint16 或int16 |
灰度 或RGB |
便携式位图
该表列出了支持的位深度和输出图像数金宝app据数组的数据类型。
金宝app支撑位深度 | 原始二进制 | ASCII (Plain)编码 | 输出类 |
---|---|---|---|
1位 | ✓ | ✓ | 逻辑 |
图形文件,窗户画笔
该表列出了支持的位深度和输出图像数金宝app据数组的数据类型。
金宝app支撑位深度 | 输出类 | 笔记 |
---|---|---|
1位 | 逻辑 |
灰度只 |
8位 | uint8 |
灰度或索引 |
24位 | uint8 |
RGB 3个8位样本/像素 |
PGM -便携式灰度图
该表列出了支持的位深度和输出图像数金宝app据数组的数据类型。
金宝app支撑位深度 | 原始二进制 | ASCII (Plain)编码 | 输出类 | 笔记 |
---|---|---|---|---|
8位 | ✓ | - - - - - - | uint8 |
|
16位 | ✓ | - - - - - - | uint16 |
|
任意的 | - - - - - - | ✓ | 1位~ 8位:uint8 9位~ 16位: uint16 |
值是按比例缩放的 |
PNG -便携式网络图形
该表列出了支持的位深度和输出图像数金宝app据数组的数据类型。
金宝app支撑位深度 | 输出类 | 笔记 |
---|---|---|
1位 | 逻辑 |
灰度 |
2位 | uint8 |
灰度 |
4位 | uint8 |
灰度 |
8位 | uint8 |
灰度或索引 |
16位 | uint16 |
灰度或索引 |
24位 | uint8 |
RGB 3个8位样本/像素。 |
48位 | uint16 |
RGB 3个16位样本/像素。 |
PPM -便携式Pixmap
该表列出了支持的位深度和输出图像数金宝app据数组的数据类型。
金宝app支撑位深度 | 原始二进制 | ASCII (Plain)编码 | 输出类 |
---|---|---|---|
最高16位 | ✓ | - - - - - - | uint8 |
任意的 | - - - - - - | ✓ |
RAS -太阳光栅
该表列出了支持的位深度和输出图像数金宝app据数组的数据类型。
金宝app支撑位深度 | 输出类 | 笔记 |
---|---|---|
1位 | 逻辑 |
位图 |
8位 | uint8 |
索引 |
24位 | uint8 |
RGB 3个8位样本/像素 |
32位 | uint8 |
带Alpha的RGB 4个8位样本/像素 |
Aperio SVS - AperioScanScope虚拟幻灯片
基于tiff格式的图像文件格式。imread
金宝app支持读取未压缩和压缩图像,包括JPEG2000压缩图像。有关更多信息,请参见标记图像文件格式.
标记图像文件格式
imread
读取TIFF规范或LibTIFF支持金宝app的大多数图像。的imread
函数支持这些TIF金宝appF功能:
每像素任意数量的样本
CCITT组3和4 FAX, Packbits, JPEG, LZW, Deflate, ThunderScan压缩和未压缩图像
逻辑,灰度,索引颜色,真彩色和高光谱图像
RGB, CMYK, CIELAB, ICCLAB色彩空间。如果彩色图像使用CMYK颜色空间,
一个
是一个米
——- - - - - -n
4数组。要确定使用哪个颜色空间,请使用imfinfo
属性的值,以获取有关图形文件的信息PhotometricInterpretation
字段。如果文件包含CIELAB颜色数据,imread
在将其带入MATLAB工作区之前,将其转换为ICCLAB。这种转换是必要的,因为8位或16位TIFF cielab编码的值使用有符号和无符号数据类型的混合,这些数据类型不能表示为单个MATLAB数组。组织成磁贴或扫描线的数据
imread
读取和转换TIFF图像如下:
YCbCr图像转换为RGB色彩空间。
所有灰度图像的读取都像black =
0
,白色=最大值。1位图像作为类返回
逻辑
.16位浮点图像作为类返回
单
.CIELab图像转换为ICCLab色彩空间。
有关版权信息,请打开libtiffcopyright.txt
文件。
窗口转储
该表列出了XWD文件支持的位深、压缩和输出金宝app类。
金宝app支撑位深度 | ZPixmaps | XYBitmaps | XYPixmaps | 输出类 |
---|---|---|---|---|
1位 | ✓ | - - - - - - | ✓ | 逻辑 |
8位 | ✓ | - - - - - - | - - - - - - | uint8 |
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
金宝app仅支持读取8位JPEG图像。输入参数
文件名
必须为有效的绝对路径或相对路径。此函数生成使用预编译的平台特定的共享库(图像处理工具箱).
GPU代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。
使用注意事项和限制:
金宝app仅支持读取8位JPEG图像。输入参数
文件名
必须为有效的绝对路径或相对路径。此函数生成使用预编译的平台特定的共享库(图像处理工具箱).
线程环境
使用MATLAB®在后台运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
使用注意事项和限制:
imread
运行时不支持读取分金宝app层数据格式(HDF)、SVS或TIFF文件imread
在后台使用backgroundPool
或并行计算工具箱™Threadpool
.
有关更多信息,请参见在线程环境中运行MATLAB函数.
版本历史
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。