主要内容

imread

从图形文件读取图像

描述

例子

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

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

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

例子

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

例子

一个地图= imread(___读入索引图像文件名一个并将其相关的颜色映射读入地图.图像文件中的颜色映射值将自动重新缩放到该范围[0, 1]

例子

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

例子

全部折叠

读取一个示例图像。

A = imread(“ngc6543a.jpg”);

imread返回一个650 × 600 × 3的数组,一个

显示图像。

图片(一)

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

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

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

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

imshow (X,提出)

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

将索引图像转换为RGB图像。结果是一个类型为415 × 312 × 3的数组

RGB = ind2rgb(X,cmap);

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

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

阅读示例文件中的第三张图像,corn.tif

[X,map] = imread(“corn.tif”3);

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

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

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

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

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

A = 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

如果文件是通过internet 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那么是3imread返回文件中的第三张图像。对于GIF文件,如果idx1:5,然后imread只返回前五帧。的idx参数仅支持多图像GIF、金宝appCUR、ICO和HDF4文件。

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

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

例子:3.

数据类型:

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

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

GIF文件

全部折叠

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

例子:“帧”,5

jpeg2000文件

全部折叠

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

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

图像分辨率的降低,指定为由逗号分隔的对组成“ReductionLevel”和一个非负整数。对于降低水平l时,图像分辨率降低了2^l.类指定的分解级别的总数限制了还原级别“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文件

全部折叠

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

数据类型:|

有关映像的信息,指定为逗号分隔的对,由“信息”函数返回的结构数组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',{[1 100],[4 500]}

数据类型:细胞

输出参数

全部折叠

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

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

  • 如果文件包含索引图像,则A是——- - - - - -n中与该索引处的颜色对应的索引值数组地图

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

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

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

与索引图像数据相关联的色度图一个,作为类的-by-3矩阵

透明度信息,以矩阵形式返回。对于PNG文件,透明度是alpha通道,如果存在。如果没有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此操作的函数。

图形交换格式

该表列出了支持的位深度和输出图像数金宝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位 uint8int8 灰度
或RGB
9位~ 16位 uint16int16 灰度
或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颜色空间,一个是一个——- - - - - -n4数组。要确定使用哪个颜色空间,请使用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

扩展功能

版本历史

R2006a之前介绍

另请参阅

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

主题