主要内容

imread

从图形文件读取图像

描述

例子

一种= imread(文档名称从指定的文件中读取图像文档名称,从其内容推断文件的格式。如果文档名称是一个多图像文件,然后imread读取文件中的第一个图像。

一种= imread(文档名称FMT.此外,使用标准文件扩展名指定的文件的格式FMT..如果imread找不到文件指定的名称文档名称,它寻找名为的文件filename.fmt.

一种= imread(___idx.从多图像文件中读取指定的图像或图像。此语法仅适用于GIF,PGM,PBM,PPM,CU,ICO,TIF,SV和HDF4文件。您必须指定一个文档名称输入,您可以选择指定FMT.

例子

一种= imread(___名称,值除了先前语法中的任何输入参数之外,使用一个或多个名称值对参数指定格式特定于格式的选项。

例子

[一种地图] = imread(___读取索引图像文档名称进入一种并将其相关的Colormap读入地图.图像文件中的ColorMap值将自动重新分配到范围内[0, 1]

例子

[一种地图透明度] = imread(___另外返回图像透明度。此语法仅适用于PNG,CU和ICO文件。对于PNG文件,透明度是alpha通道,如果存在一个。对于CUR和ICO文件,它是AND(不透明度)掩码。

例子

全部折叠

读取样本图像。

a = imread('ngc6543a.jpg');

imread返回650×600-by-3阵列,一种

显示图像。

图像(a)

图包含轴。轴包含类型图像的对象。

读取样本索引图像文件中的第一个图像,corn.tif

[x,cmap] = imread('玉米。');

索引图像X是415×312型类型uint8..的colormapCMAP.是256×3矩阵类型双倍的因此,索引图像中有256种颜色。显示图像。

imshow(x,cmap)

图包含轴。轴包含类型图像的对象。

将索引图像转换为RGB图像。结果是415×312×3型类型双倍的

RGB = ind2rgb (X,提出);

检查RGB图像的值在[0,1]范围内。

DISP([' RGB图像范围为[',num2str(min(rgb(:))),',',num2str(max(rgb(:))),“]”。])
RGB图像的范围为[0.0078431,0.97647]。

在示例文件中读取第三个图像,corn.tif

[X,地图]= imread ('玉米。',3);

返回样本图像的alpha通道,Peppers.png.

[X,地图,α]= imread ('peppers.png');谁α
名称大小字节类属性Alpha 0x0 0 Double

没有alpha通道,所以α是空的。

读取样本图像的特定像素区域,corn.tif

指定'pixelregion'参数,该参数具有指示要读取的区域边界的向量单元格数组。第一个向量指定要读取的行范围,第二个向量指定要读取的列范围。

a = imread('玉米。''pixelregion',{[1,2],[2,5]});

imread从中读取行1-2和列2-5中的图像数据corn.tif并返回2×4阵列,一种

输入参数

全部折叠

图形文件的名称,指定为字符向量或字符串标量。

根据您的文件的位置,文档名称可以表现为这些形式中的一种。

地点

形式

Matlab上的当前文件夹或文件夹®小路

中指定文件的名称文档名称

例子:'myimage.jpg'

文件夹中的文件

如果文件不在当前文件夹中或MATLAB路径上的文件夹中,则指定完整或相对路径名。

例子:“C: \ myFolder \ myImage.ext”

例子:'\ imgdir \ myimage.ext'

URL

如果文件是通过互联网URL定位的,那么文档名称必须包含协议类型,如,http://

例子:'http://hostname/path_to_file/my_image.jpg'

偏远的地点

如果文件存储在远程位置,则文档名称必须包含指定为表单的统一资源定位符(URL)的文件的完整路径:

scheme_name.://path_to_file./my_file.ext.

基于远程位置,scheme_name.可以是该表中的值之一。

偏远的地点 scheme_name.
亚马逊S3™ S3.
Windows Azure.®Blob存储 黄金草原
HDFS™ HDFS.

有关更多信息,请参阅使用远程数据

例子:'s3://bucketname/path_to_file/my_image.jpg'

有关每个文件类型支持的位深、压缩方案和颜色空间的信息,请参见万博1manbetx算法

数据类型:char|细绳

图像格式,指定为字符向量或字符串标量,指示标准文件扩展名。称呼imformats.查看支持的格式列表及其文件扩展名。万博1manbetx

例子:“png”

数据类型:char|细绳

要读取的图像,指定为整数标量,或者对于GIF文件,整数的向量。例如,如果idx.是3,那么imread返回文件中的第三个图像。对于GIF文件,如果idx.1:5, 然后imread仅返回前五个框架。的idx.参数仅支持多图像GIF、万博1manbetxCUR、ICO和HDF4文件。

从相同的GIF文件读取多个帧时,请指定idx.作为坐标系中的向量或使用'框架','全部'名称值对参数。由于GIF文件构造的方式,与调用相比,这些语法提供了更快的性能imread在循环中。

对于HDF4文件,idx.对应于要读取的图像的参考编号。附图标记不一定对应于文件中图像的顺序。您可以使用imfinfo将图像顺序与参考编号进行匹配。

例子:3.

数据类型:双倍的

名称-值对的观点

指定可选的逗号分离对名称,值论点。姓名是参数名称和价值为对应值。姓名必须出现在引号内。可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'索引',5读取TIFF文件的第五个图像。
GIF文件

全部折叠

读取的框架,指定为逗号分隔对'框架'和一个正整数,整数矢量或“所有”.例如,如果指定值3,imread读取文件中的第三帧。如果您指定“所有”, 然后imread读取所有帧,并按照它们出现在文件中的顺序返回它们。

例子:'框架',5

JPEG 2000个文件

全部折叠

读取的Subimage,指定为逗号分隔的配对组成'pixelregion'和形式的细胞阵列{Rows,Cols}.的输入指定要读取的行范围。的科尔斯输入指定要读取的列范围。两个都科尔斯必须是包含基于1个索引的两个元素矢量。例如,'pixelregion',{[1 2],[3 4]}读取图像数据中以行1、2和列3、4为边界的子图像。如果'Reganslevel'值大于0,然后科尔斯是Subimage的坐标。

例子:'pixelregion',{[1 100],[4 500]}

图像分辨率的降低,由指定的逗号分隔对组成'Reganslevel'和一个非负整数。用于减少水平L.,图像分辨率降低了2^ 1L..减少水平受到如此规定的分解水平总数的限制'waveletdecompositionlevels'字段的输出imfinfo功能。

例子:'Regaylevel',5

数据类型:单身的|双倍的

与MATLAB 7.9(R2009B)和更早的兼容性,指定为逗号分隔对'v79申请'和任何一种真正的错误的.如果您指定真正的,然后返回的灰度或RGB图像与以前版本一致imread(MATLAB 7.9 (R2009b)及更早版本)。

例子:“V79Compatible”,真的

数据类型:逻辑

PNG文件

全部折叠

背景颜色,指定为'没有任何',整数或整数的三元素矢量。如果背景颜色'没有任何', 然后imread不执行任何合成。否则,imread将透明像素与背景颜色混合。

  • 如果输入图像被索引,则值为背景颜色必须是范围内的整数(1, P), 在哪里P.是Colormap长度。

  • 如果输入图像是灰度,那么值背景颜色必须是范围内的整数[0, 1]

  • 如果输入图像是RGB,那么值背景颜色必须是三元素矢量,其中值在范围内[0, 1]

的默认值背景颜色取决于存在的存在透明度输出参数和图像类型:

  • 如果您要求透明度的默认值背景颜色'没有任何'

  • 如果您不请求透明度输出和PNG文件包含背景颜色块,然后该颜色是默认值背景颜色

  • 如果您不请求透明度输出和文件不包含背景颜色块,然后是默认值背景颜色1对于索引图像,0.对于灰度图像,和[0 0 0]用于真彩色(RGB)图像。

TIFF文件

全部折叠

要读取的图像,指定为逗号分隔对组成“指数”和一个正整数。例如,如果值指数是3,那么imread读取文件中的第三个图像。

数据类型:单身的|双倍的

有关映像的信息,指定为逗号分隔对,由'信息'函数返回的结构数组imfinfo功能。使用信息名称-值对参数以提供帮助imread更快地将图像中的图像定位在多图像TIFF文件中。

数据类型:结构体

区域边界,指定为逗号分隔对,由'pixelregion'和形式的细胞阵列{Rows,Cols}.的输入指定要读取的行范围。的科尔斯输入指定要读取的列范围。科尔斯必须是基于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是一个m-经过-N大批。

  • 如果该文件包含索引图像,则A是一个m-经过-N索引值数组对应于该索引中的颜色地图

  • 如果该文件包含TrueColor图像,则A是一个m-经过-N-By-3阵列。

  • 如果文件是包含使用CMYK颜色空间的彩色图像的TIFF文件,那么A就是一个m-经过-N-By-4阵列。

的类一种取决于图像格式和图像数据的位深。有关更多信息,请参阅算法

ColorMap与索引图像数据相关联一种,返回一个m-B-3类矩阵双倍的

透明度信息,作为矩阵返回。对于PNG文件,透明度是alpha通道,如果存在的话。如果没有alpha通道存在,或者指定'背景颜色'名称值对参数,然后透明度是空的。对于cur和iCo文件,透明度是和面具。对于光标文件,此掩码有时包含唯一的有用数据。

更多关于

全部折叠

位深度

比特深度是用于表示每个图像像素的比特数。

通过将每个样本乘以每像素的样本来计算比特深度。因此,使用每个颜色分量(或样本)和每个像素的三个样本的格式具有比特深度为24.有时与钻头深度相关联的样本大小可以模糊。例如,48位比特深度是否表示六个8位样本,四个12位样本或三个16位样本?看算法对于示例大小信息,以避免这种歧义。

算法

全部折叠

对于大多数图像文件格式,imread每个彩色平面使用8位或更少的位来存储图像像素。这个表列出了返回的图像数组的类,一种,对于文件格式使用的位深度。

文件位深

返回的数组的类imread

每像素1位

逻辑

每个颜色平面2到8位

uint8.

每像素9到16位

uint16骨形态发生蛋白JPEG.PNG.,TIFF

对于16位BMP打包格式(5-6-5),MATLAB返回uint8.

以下部分提供有关特定格式的支持的信息,按格式名称按字母顺序列出。万博1manbetx

BMP -窗户位图

此表列出了支持的位深度和输出图像数万博1manbetx据阵列的数据类型。

万博1manbetx支持的位深 没有压缩 rle压缩 输出类 笔记
1位 - 逻辑
4位 uint8.
8位 uint8.
16位 - uint8. 1样品/像素
24位 - uint8. 3个样本/像素
32位 - uint8. 3个样本/像素
(1字节填充)

cur - 光标文件

此表列出了支持的位深度和输出图像数万博1manbetx据阵列的数据类型。

万博1manbetx支持的位深 没有压缩 压缩 输出类
1位 - 逻辑
4位 - uint8.
8位 - uint8.

笔记

默认情况下,Microsoft®窗户®光标是32×32个像素。由于MATLAB指针必须是16-by-16,因此您可能需要缩放图像。你可以使用imresize该操作的功能。

GIF - 图形交换格式

此表列出了支持的位深度和输出图像数万博1manbetx据阵列的数据类型。

万博1manbetx支持的位深 没有压缩 压缩 输出类
1位 - 逻辑
2位到8位 - uint8.

HDF4 - 分层数据格式

此表列出了支持的位深度和输出图像数万博1manbetx据阵列的数据类型。

万博1manbetx支持的位深 带colormap的光栅图像 没有Colormap的光栅图像 输出类 笔记
8位 uint8.
24位 - uint8. 3个样本/像素

ICO -图标文件

JPEG - 联合摄影专家组

imread读取任何基线JPEG图像,以及带有一些常用扩展的JPEG映像。有关JPEG 2000文件支持的信息,请参阅万博1manbetxJPEG 2000.

万博1manbetx每个样本的支持位 有损压缩 无损压缩 输出类 笔记
8位 uint8. 灰度或RGB.
12位 uint16 灰度或RGB.
16位 - uint16 灰度

JPEG 2000 - 联合摄影专家组2000年

有关JPEG文件的信息,请参阅JPEG.

笔记

不支持索引JPEG 2000图像。万博1manbetxJP2 / JPX文件仅支持JP2兼容颜色空格。万博1manbetx缺省情况下,所有图像通道都按照它们存储在文件中的顺序返回。

万博1manbetx每个样本的支持位

有损压缩 无损压缩 输出类 笔记
1位 逻辑 只有灰度
2位到8位 uint8.INT8. 灰度
或RGB.
9位为16位 uint16int16 灰度
或RGB.

PBM—可移植位图

此表列出了支持的位深度和输出图像数万博1manbetx据阵列的数据类型。

万博1manbetx支持的位深 原始二进制 ASCII编码(平原) 输出类
1位 逻辑

PCX -窗户画笔

此表列出了支持的位深度和输出图像数万博1manbetx据阵列的数据类型。

万博1manbetx支持的位深 输出类 笔记
1位 逻辑 只有灰度
8位 uint8. 灰度或索引
24位 uint8. RGB.
三个8位样本/像素

PGM -便携式灰度图

此表列出了支持的位深度和输出图像数万博1manbetx据阵列的数据类型。

万博1manbetx支持的位深 原始二进制 ASCII编码(平原) 输出类 笔记
8位 - uint8.
16位 - uint16
随意的 - 1位为8位:uint8.
9-bit 16位:uint16
值是按比例缩小的

PNG - 便携式网络图形

此表列出了支持的位深度和输出图像数万博1manbetx据阵列的数据类型。

万博1manbetx支持的位深 输出类 笔记
1位 逻辑 灰度
2位 uint8. 灰度
4位 uint8. 灰度
8位 uint8. 灰度或索引
16位 uint16 灰度或索引
24位 uint8. RGB.
三个8位样本/像素。
48位 uint16 RGB.
三个16位/像素样本。

PPM - Poctable PixMap

此表列出了支持的位深度和输出图像数万博1manbetx据阵列的数据类型。

万博1manbetx支持的位深 原始二进制 ASCII编码(平原) 输出类
最多16位 - uint8.
随意的 -

拉斯 -太阳栅格

此表列出了支持的位深度和输出图像数万博1manbetx据阵列的数据类型。

万博1manbetx支持的位深 输出类 笔记
1位 逻辑 位图
8位 uint8. 索引
24位 uint8. RGB.
三个8位样本/像素
32位 uint8. RGB与α
四个8位样本/像素

Aperio SVS - Aperioscanscope.虚拟幻灯片

基于TIFF的图像文件格式。imread万博1manbetx支持读取未压缩和压缩图像,包括具有JPEG2000压缩的图像。有关更多信息,请参阅TIFF -标记的图像文件格式

TIFF -标记的图像文件格式

imread读取TIFF规范或LibTIFF支持万博1manbetx的大多数图像。的imread功能支持这些TIF万博1manbetxF功能:

  • 每像素任意数量的样本

  • CCITT组3和4传真,Packbits, JPEG, LZW, Deflate, ThunderScan压缩,和未压缩的图像

  • 逻辑,灰度,索引颜色,TrueColor和Hyperspectral图像

  • RGB,CMYK,CIELAB,ICCLAB颜色空间。如果彩色图像使用CMYK颜色空间,一种是一个m-经过-N-By-4阵列。确定使用哪些颜色空间,使用imfinfo获取有关图形文件的信息,并查看光度识别场地。如果文件包含Cielab颜色数据,imread将其转换为iCclab,然后将其带入MATLAB工作区。这种转换是必要的,因为8位或16位TIFF CIELAB编码值使用符号和无符号数据类型的混合,其无法表示为单个MATLAB阵列。

  • 数据组织成磁片或扫描线

imread读取和转换TIFF图像如下:

  • YCBCR图像被转换为​​RGB ColorSpace。

  • 所有的灰度图像读取仿佛黑色=0.,白色=最大值。

  • 1位图像作为类返回逻辑

  • 16位浮点图像作为类返回单身的

  • Cielab图像被转换为​​Icclab ColorSpace。

出于版权信息,打开libtiffcopyright.txt.文件。

XWD - X窗口转储

该表列出XWD文件支持的位深、压缩和输出类万博1manbetx。

万博1manbetx支持的位深 ZPixmaps XYBITMAPS. XYPIXMAPS. 输出类
1位 - 逻辑
8位 - - uint8.

扩展能力

也可以看看

||||||(图像处理工具箱)

话题

之前介绍过的R2006a