图像文件的操作MATLAB基础函数使用

简介

MATLAB中的图像处理工具箱体统了一套全方位的标准算法和图形工具,用于进行图像处理、分析、可视化和算法开发。这里仅仅对常用的基础函数做个使用介绍。

查询图像文件的信息

使用如下函数

imfinfo(filename,fmt)

函数imfinfo返回一个结构体的info,其中包括了图像文件的信息,filename是指定图像文件的字符串,fmt是指定图像文件格式的字符串。通过此函数获得的信息与图像文件格式的字符串。通过此函数获得的信息与图像文件的类型有关,但至少包含以下一些内容。

imfinfo

Matlab 复制代码
>> info = imfinfo('测试图片.jpg')

info = 

           Filename: 'C:\Users\Dell\Desktop\atongbu\text\测试图片.jpg'
        FileModDate: '08-Sep-2023 14:37:07'
           FileSize: 226226
             Format: 'jpg'
      FormatVersion: ''
              Width: 1488
             Height: 878
           BitDepth: 24
          ColorType: 'truecolor'
    FormatSignature: ''
    NumberOfSamples: 3
       CodingMethod: 'Huffman'
      CodingProcess: 'Sequential'
            Comment: {}

图像文件的读写

MATLAB提供了imread函数来读取图像文件到工作区中。通过imread函数,用户可以导入多种格式的图像数据,如TIFF/HDF/BMP/JPEG/GIF/PCX/XWD/Cursor/Icon和PNG等格式。

Matlab 复制代码
>> RGB = imread('测试图片.jpg');
>> whos
  Name        Size                  Bytes  Class    Attributes

  RGB       878x1488x3            3919392  uint8              

>>

为了把MATLAB工作中的图像数据用一种标准格式输出到图像文件中,需要使用imwrite函数来完成这个工作。Imwrite函数用于将数据输出为多种标准的图像文件。

图像文件的显示

在MATLAB中,使用函数imshow来显示图像文件。

imshow(I) displays image I in a Handle Graphics® figure, where I is a grayscale, RGB (truecolor), or binary image. For binary images, imshow displays pixels with the value 0 (zero) as black and 1 as white. imshow optimizes figure, axes, and image object properties for image display.

example

imshow(X,map) displays the indexed image X with the colormap map. A colormap matrix can have any number of rows, but it must have exactly 3 columns. Each row is interpreted as a color, with the first element specifying the intensity of red light, the second green, and the third blue. Color intensity can be specified on the interval 0.0 to 1.0.

example

imshow(filename) displays the image stored in the graphics file specified by filename.

imshow(I,low high) displays grayscale image I, specifying the display range as a two-element vector, low high. For more information, see the DisplayRange parameter.

imshow(___,Name,Value) displays an image, using name-value pairs to control aspects of the operation.

himage = imshow(___) returns the handle to the image object created by imshow.

imshow(I) 显示灰度图像I

imshow(I,low high) 显示灰度图像I,low, high为图像数据的值域

imshow(RGB)显示真彩图像RGB

imshow(X,map)显示索引图像,X为索引图像的数据矩阵,map为颜色表

imshow(filename)显示filename文件的图像

himage = imshow(___)返回船舰图像对象的句柄

Matlab 复制代码
>> imshow('测试图片.jpg')
>>

图像的格式转换

rgb2gray

I = rgb2gray(RGB) converts the truecolor image RGB to the grayscale intensity image I. The rgb2gray function converts RGB images to grayscale by eliminating the hue and saturation information while retaining the luminance. If you have Parallel Computing Toolbox™ installed, rgb2gray can perform this conversion on a GPU.

example

newmap = rgb2gray(map) returns a grayscale colormap equivalent to map.

相关推荐
严肃小白兔9 小时前
MATLAB 优秀开源项目与工具箱推荐:涵盖通信、图像处理、脑机接口等九大领域
图像处理·matlab·信息与通信·开源项目
Evand J2 天前
【MATLAB例程12】永磁同步电机基于增广无迹卡尔曼滤波的未知负载转矩在线观测
开发语言·matlab
分享资料3 天前
MATLAB 中分号 (;)的作用
matlab
Evand J3 天前
【PMSM例程11】永磁同步电机(PMSM)基于UKF的转速与转子位置估计。附下载链接
算法·matlab·卡尔曼滤波·永磁同步电机·ukf·pmsm·位置估计
严肃小白兔4 天前
优秀 MATLAB 作者、书籍推荐:国外经典教材与技术资源整理
matlab
熊猫_豆豆5 天前
buck-boost电路MATLAB仿真
matlab·电路·电力电子技术
逆向编程6 天前
MATLAB高级数据结构:cell、struct与table深度应用
开发语言·数据结构·matlab
星夜离尘566 天前
MATLAB 刚体坐标变换:点、方向和逆变换为什么不能混用
matlab
Evand J7 天前
【PMSM滤波例程2】PMSM未知负载转矩观测EKF。MATLAB例程(负载增广EKF与实际仿真结果)。附下载链接
开发语言·matlab·电机
机器学习之心7 天前
基于贝叶斯物理信息神经网络的矿产预测与不确定性量化,MATLAB代码及复现报告
人工智能·神经网络·matlab·贝叶斯物理信息神经网络