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

2024-07-01 1500阅读

🔗 运行环境: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)

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

      2.1 将索引图像转换成 RGB

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

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

      索引图像 X 是 uint8 类型的 415×312 数组。颜色图 cmap 是 double 类型的 256×3 矩阵,因此索引图像中有 256 种颜色。显示图像。

      imshow(X,cmap)

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

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

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

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]