【Matlab函数分析】imread从图形文件读取图像

🔗 运行环境: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路径上的文件夹

指定 filename 中文件的名称。

示例:'myImage.jpg'

文件夹中的文件

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

示例:'C:\myFolder\myImage.ext'

示例:'\imgDir\myImage.ext'

URL

如果文件是通过 Internet URL 定位的,则 filename 必须包含协议类型,例如 http://

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

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: 所读取的文件名应该放在当前的文件路径下,不然送你一片红

  • 25
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

左手の明天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值