主要内容

imread

从图形文件读取图像

描述

例子

一个= imread (文件名从指定的文件中读取图像文件名,从文件的内容推断文件的格式。如果文件名是一个多图像文件,那么imread读取文件中的第一个图像。

一个= imread (文件名fmt另外,使用标准文件扩展名指定文件的格式fmt.如果imread找不到指定名称的文件文件名,它查找名为filename.fmt

一个= imread (___idx从多映像文件中读取指定的一个或多个映像。此语法仅适用于GIF、PGM、PBM、PPM、CUR、TIF、SVS和HDF4文件。必须指定文件名输入,您可以选择指定fmt

例子

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

例子

一个地图) = imread (___读取索引图像文件名一个并将其关联的颜色图读入地图.图像文件中的Colormap值被自动缩放到范围内[0, 1]

例子

一个地图透明度) = imread (___另外,返回图像透明度。此语法仅适用于PNG、CUR和ICO文件。为PNG文件,透明度是alpha通道,如果有的话。对于CUR和ICO文件,它是and(不透明度)蒙版。

例子

全部折叠

读取示例图像。

一个= imread (“ngc6543a.jpg”);

imread返回一个650x600x3的数组,一个

显示图像。

图片(一)

图中包含一个轴对象。axis对象包含一个image类型的对象。

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

[X,提出]= imread (“corn.tif”);

索引图像X415 × 312数组的类型是什么uint8.的colormap提出是256 × 3的矩阵吗,因此索引图像中有256种颜色。显示图像。

imshow (X,提出)

图中包含一个轴对象。axis对象包含一个image类型的对象。

将索引图像转换为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 (“corn.tif”3);

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

[X,地图,α]= imread (“peppers.png”);谁α
名称大小字节类属性alpha 0x0 0 double

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

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

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

一个= imread (“corn.tif”“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
Amazon S3™ s3
Windows Azure®Blob存储 wasbwasbs
HDFS™ hdfs

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

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

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

数据类型:字符|字符串

图像格式,指定为表示标准文件扩展名的字符向量或字符串标量。调用imformats查看支持的格式及其文件扩展名的列表金宝app。

例子:“png”

数据类型:字符|字符串

要读取的图像,指定为整数标量,对于GIF文件,指定为整数向量。例如,如果idx是3,那么imread返回文件中的第三张图像。对于GIF文件,如果idx1:5,然后imread仅返回前5帧。的idx参数仅支持多图像GIF、金宝appCUR、ICO和HDF4文件。

当从同一个GIF文件读取多个帧时,指定idx作为坐标系中的向量或使用“帧”,“所有”名称-值对的论点。由于GIF文件的结构方式,这些语法提供了比调用更快的性能imread在一个循环中。

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

例子:3.

数据类型:

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“指数”,5读取TIFF文件的第五个图像。
GIF文件

全部折叠

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

例子:“帧”,5

JPEG 2000个文件

全部折叠

要读取的子映像,指定为逗号分隔对,由“PixelRegion”和窗体的单元格数组{行,关口}.的Input指定要读取的行范围。的关口Input指定要读取的列的范围。这两个关口必须是包含1基索引的二元向量。例如,PixelRegion, {[1 - 2], [3 - 4]}读取图像数据中以行1、2和列3、4为边界的子图像。如果“ReductionLevel”值大于0,则关口为子图像的坐标。

例子:PixelRegion, {[100], [500]}

图像分辨率的降低,由指定的逗号分隔对组成“ReductionLevel”和一个非负整数。为减少水平l,图像分辨率降低了2^ 1l.属性指定的分解级别总数限制了还原级别“WaveletDecompositionLevels”字段的输出imfinfo函数。

例子:“ReductionLevel”,5

数据类型:|

兼容MATLAB 7.9 (R2009b)及更早版本,指定为逗号分隔对组成“V79Compatible”,要么真正的.如果您指定真正的,则返回的灰度或RGB图像是否与以前的版本一致imread(MATLAB 7.9 (R2009b)及更早版本)。

例子:“V79Compatible”,真的

数据类型:逻辑

PNG文件

全部折叠

背景颜色,指定为“没有”,一个整数,或三元素整数向量。如果写成BackgroundColor“没有”,然后imread不执行任何合成。否则,imread混合透明像素与背景颜色。

  • 如果输入图像被索引,则写成BackgroundColor必须是范围内的整数(1, P),在那里P为色图长度。

  • 如果输入图像为灰度,则为写成BackgroundColor必须是范围内的整数[0, 1]

  • 如果输入图像是RGB,则为写成BackgroundColor必须是一个值在范围内的三元素向量[0, 1]

的默认值写成BackgroundColor取决于是否存在透明度输出参数和图像类型:

  • 如果你要求透明度的默认值写成BackgroundColor“没有”

  • 如果你不请求透明度而PNG文件包含背景色块,则该颜色为的默认值写成BackgroundColor

  • 如果你不请求透明度输出且文件不包含背景色块,则默认值为写成BackgroundColor1对于索引的图像,0对于灰度图像,和(0 0 0)用于真彩色(RGB)图像。

TIFF文件

全部折叠

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

数据类型:|

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

数据类型:结构体

区域边界,指定为逗号分隔对,由“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, {[100], [500]}

数据类型:细胞

输出参数

全部折叠

图像数据,作为数组返回。

  • 如果文件包含灰度图像,则a为——- - - - - -n数组中。

  • 如果文件包含索引图像,则A为——- - - - - -n数组的下标值对应于颜色的下标地图

  • 如果文件包含真彩色图像,则a为——- - - - - -n3数组。

  • 如果文件是包含使用CMYK颜色空间的彩色图像的TIFF文件,则a为——- - - - - -n4数组。

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

中与索引图像数据相关联的彩色图一个,返回为类的- × 3矩阵

透明度信息,以矩阵形式返回。为PNG文件,透明度是阿尔法通道,如果存在的话。如果没有alpha通道,或者指定“写成BackgroundColor”名称-值对参数透明度是空的。对于CUR和ICO文件,透明度是AND面具。对于游标文件,这个掩码有时包含唯一有用的数据。

更多关于

全部折叠

位深度

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

位深度是通过每个样本的比特与每个像素的样本相乘来计算的。因此,每个颜色成分(或样本)使用8位,每个像素使用3个样本的格式具有24位深度。有时,与位深相关的样本大小可能是不明确的。例如,一个48位的位深是代表6个8位样本,4个12位样本,还是3个16位样本?看到算法样本大小信息,以避免这种歧义。

算法

全部折叠

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

文件位深

返回的数组的类imread

1位/像素

逻辑

每个彩色平面2到8位

uint8

每像素9到16位

uint16骨形态发生蛋白JPEGPNG,TIFF

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

以下部分提供了有关对特定格式的支持的信息,按格式名称的字母顺序列出。金宝app

BMP -窗户位图

该表列出了支持的位深和输出图像数据金宝app数组的数据类型。

金宝app支持位深 没有压缩 RLE压缩 输出类 笔记
1位 - - - - - - 逻辑
4位 uint8
8位 uint8
16位 - - - - - - uint8 1样品/像素
24位 - - - - - - uint8 3样品/像素
32位 - - - - - - uint8 3样品/像素
(1字节填充)

CUR -游标文件

该表列出了支持的位深和输出图像数据金宝app数组的数据类型。

金宝app支持位深 没有压缩 压缩 输出类
1位 - - - - - - 逻辑
4位 - - - - - - uint8
8位 - - - - - - uint8

请注意

默认情况下,微软®窗户®光标是32 × 32像素。因为MATLAB指针必须是16乘16的,所以您可能需要缩放图像。你可以使用imresize函数用于此操作。

GIF -图形交换格式

该表列出了支持的位深和输出图像数据金宝app数组的数据类型。

金宝app支持位深 没有压缩 压缩 输出类
1位 - - - - - - 逻辑
2位到8位 - - - - - - uint8

HDF4 -分级数据格式

该表列出了支持的位深和输出图像数据金宝app数组的数据类型。

金宝app支持位深 带有彩色地图的光栅图像 光栅图像没有彩色地图 输出类 笔记
8位 uint8
24位 - - - - - - uint8 3样品/像素

ICO -图标文件

联合摄影专家组

imread读取任何基线JPEG图像,以及一些常用扩展的JPEG图像。有关jpeg2000文件支持的信息,请参见金宝appJPEG 2000

金宝app每个样本的支持位 有损压缩 无损压缩 输出类 笔记
8位 uint8 灰度或RGB
12位 uint16 灰度或RGB
16位 - - - - - - uint16 灰度

jpeg2000 -联合摄影专家组2000

有关JPEG文件的信息,请参见JPEG

请注意

不支持索引JPEG 2000图像。金宝appJP2/JPX文件只支持JP2兼容的颜色空间。金宝app默认情况下,所有图像通道都按照它们在文件中存储的顺序返回。

金宝app每个样本的支持位

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

PBM—可移植位图

该表列出了支持的位深和输出图像数据金宝app数组的数据类型。

金宝app支持位深 原始二进制 ASCII编码(平原) 输出类
1位 逻辑

图形文件,窗户画笔

该表列出了支持的位深和输出图像数据金宝app数组的数据类型。

金宝app支持位深 输出类 笔记
1位 逻辑 灰度只
8位 uint8 灰度或索引
24位 uint8 RGB
三个8位/像素样本

PGM -便携式灰度图

该表列出了支持的位深和输出图像数据金宝app数组的数据类型。

金宝app支持位深 原始二进制 ASCII编码(平原) 输出类 笔记
8位 - - - - - - uint8
16位 - - - - - - uint16
任意的 - - - - - - 出的8位:uint8
9-bit 16位:uint16
值是按比例缩小的

便携式网络图形

该表列出了支持的位深和输出图像数据金宝app数组的数据类型。

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

便携式像素地图

该表列出了支持的位深和输出图像数据金宝app数组的数据类型。

金宝app支持位深 原始二进制 ASCII编码(平原) 输出类
最高16位 - - - - - - uint8
任意的 - - - - - -

RAS -太阳光栅

该表列出了支持的位深和输出图像数据金宝app数组的数据类型。

金宝app支持位深 输出类 笔记
1位 逻辑 位图
8位 uint8 索引
24位 uint8 RGB
三个8位/像素样本
32位 uint8 RGB与α
四个8位/像素样本

Aperio SVS - AperioScanScope虚拟幻灯片

基于tiff的图像文件格式。imread金宝app支持读取未压缩和压缩的图像,包括使用JPEG2000压缩的图像。有关更多信息,请参见TIFF -标记的图像文件格式

TIFF -标记的图像文件格式

imread读取TIFF规范或LibTIFF支持金宝app的大多数图像。的imread函数支持这些TIF金宝appF功能:

  • 每像素任意数量的样本

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

  • 逻辑,灰度,索引彩色,真彩色和高光谱图像

  • RGB, CMYK, CIELAB, ICCLAB颜色空间。如果彩色图像使用CMYK颜色空间,一个是一个——- - - - - -n4数组。要确定使用哪种颜色空间,请使用imfinfo获取有关图形文件的信息,并查看PhotometricInterpretation字段。如果文件包含CIELAB颜色数据,imread将其转换为ICCLAB,然后将其引入MATLAB工作空间。这种转换是必要的,因为8位或16位TIFF cielab编码的值使用了不能表示为单个MATLAB数组的有符号和无符号数据类型的混合。

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

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

  • YCbCr图像被转换成RGB色彩空间。

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

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

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

  • CIELab图像转换为ICCLab色彩空间。

有关版权信息,请打开libtiffcopyright.txt文件。

XWD - X窗口转储

该表列出XWD文件支持的位深、压缩和输出类金宝app。

金宝app支持位深 ZPixmaps XYBitmaps XYPixmaps 输出类
1位 - - - - - - 逻辑
8位 - - - - - - - - - - - - uint8

扩展功能

另请参阅

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

主题

之前介绍过的R2006a