🔗 运行环境:Matlab
🚩 撰写作者:左手の明天
🥇 精选专栏:《python》
🔥 推荐专栏:《算法研究》
#### 防伪水印——左手の明天 ####
💗 大家好🤗🤗🤗,我是左手の明天!好久不见💗
💗今天更新系列【matlab函数分析】——imread函数💗
📆 最近更新:2024 年 06 月 30 日,左手の明天的第 340 篇原创博客
📚 更新于专栏:matlab
#### 防伪水印——左手の明天 ####
1、函数语法说明
1.1 语法
A = imread(filename
)
:从filename
指定的文件读取图像,并从文件内容推断出其格式。如果filename
为多图像文件,则imread
读取该文件中的第一个图像。A = imread(filename
,fmt
)
:另外还指定具有fmt
指示的标准文件扩展名的文件的格式。如果imread
找不到具有filename
指定的名称的文件,则会查找名为filename.fmt
的文件。[A,map] = imread(___)
:将filename
中的索引图像读入A
,并将其关联的颜色图读入map
。图像文件中的颜色图值会自动重新调整到范围[0,1]
中。[A,map,transparency
] = imread(___)
:另外还返回图像透明度。此语法仅适用于 PNG、CUR 和 ICO 文件。对于 PNG 文件,如果存在 alpha 通道,transparency
会返回该 alpha 通道。对于 CUR 和 ICO 文件,它为 AND(不透明度)掩码。
1.2 输入参数
filename
— 图形文件名
图形文件的名称,指定为字符向量或字符串标量。
根据文件的位置,filename
可以采用下列形式之一。
位置 | 形式 |
---|---|
当前文件夹或 MATLAB路径上的文件夹 | 指定 示例: |
文件夹中的文件 | 如果该文件不在当前文件夹或 MATLAB 路径下的文件夹中,则指定完整或相对路径名。 示例: 示例: |
URL | 如果文件是通过 Internet URL 定位的,则 示例: |
fmt
— 图像格式
图像格式,指定为指示标准文件扩展名的字符向量或字符串标量。调用 imformats
可查看支持的格式及其文件扩展名列表。
示例: 'png'
1.3 输出参量
A
— 图像数据
图像数据,以数组的形式返回。
-
如果文件包含灰度图像,则 A 为
m
×n
数组。 -
如果文件包含索引图像,则 A 为
m
×n
数组,其中的索引值对应于map
中该索引处的颜色。 -
如果文件包含真彩色图像,则 A 为
m
×n
×3 数组。 -
如果文件是一个包含使用 CMYK 颜色空间的彩色图像的 TIFF 文件,则 A 为
m
×n
×4 数组。
map
— 颜色图
与 A
中的索引图像数据关联的颜色图,以 m
×3 的 double
类矩阵形式返回。
transparency
— 透明度信息
以矩阵形式返回的透明度信息。对于 PNG 文件,transparency
为 alpha 通道(若存在)。如果不存在 alpha 通道,或者如果指定了 'BackgroundColor'
名称-值对组参量,则 transparency
为空。对于 CUR 和 ICO 文件,transparency
是 AND 掩码。对于光标文件,该掩码有时仅包含有用的数据。
2、示例
2.1 读取和显示图像
读取示例图。
A = imread('ngc6543a.jpg');
imread
返回 650×600×3 数组 A
。
显示图像。
image(A)
2.1 将索引图像转换成 RGB
读取索引图像示例文件 corn.tif
中的第一幅图像。
[X,cmap] = imread('corn.tif');
索引图像 X
是 uint8
类型的 415×312 数组。颜色图 cmap
是 double
类型的 256×3 矩阵,因此索引图像中有 256 种颜色。显示图像。
imshow(X,cmap)
将索引图像转换为 RGB 图像。结果为一个 double
类型的 415×312×3 数组。
RGB = ind2rgb(X,cmap);
检查 RGB 图像的值是否在 [0, 1] 范围内。
disp(['Range of RGB image is [',num2str(min(RGB(:))),', ',num2str(max(RGB(:))),'].'])
Range of RGB image is [0.0078431, 0.97647].
2.2 读取多页 TIFF 文件中的特定图像
读取示例文件 corn.tif
中的第三幅图像。
[X,map] = imread('corn.tif',3);
2.3 返回 PNG 图像的 Alpha 通道
返回示例图 peppers.png
的 Alpha 通道。
[X,map,alpha] = imread('peppers.png');
whos alpha
Name Size Bytes Class Attributes alpha 0x0 0 double
没有提供 Alpha 通道,因此 alpha
为空。
2.4 读取 TIFF 图像的指定区域
读取示例图 corn.tif
像素的特定区域。
用表示要读取的区域边界的向量元胞数组指定 'PixelRegion'
参数。第一向量指定要读取的行范围,第二向量指定要读取的列范围。
A = imread('corn.tif','PixelRegion',{[1,2],[2,5]});
imread
读取 corn.tif
中 1–2 行和 2–5 列的图像数据,并返回 2×4 数组 A
。
tips: 所读取的文件名应该放在当前的文件路径下,不然送你一片红