主要内容

中使用图像MATLAB图形

什么是图像数据?

MATLAB基础®数据结构是数组,实元素或复元素的有序集合。数组自然适合于的表示图片,实值,颜色或强度数据的有序集。(数组适用于复值图像。)

在MATLAB工作空间中,大多数图像都表示为二维数组(矩阵),其中矩阵的每个元素对应于显示图像中的单个像素。例如,由200行和300列不同颜色的点组成的图像存储为200 * 300矩阵。有些图像(如RGB)需要一个三维数组,其中第三维的第一个平面表示红色像素强度,第二个平面表示绿色像素强度,第三个平面表示蓝色像素强度。

这种约定使得处理图形文件格式图像类似于处理任何其他类型的矩阵数据。例如,你可以使用标准矩阵下标从图像矩阵中选择一个像素:

我(15)

该命令返回图像第2行第15列的像素值

以下部分描述了不同的数据和图像类型,并详细介绍了如何读取、写入、使用和显示图形图像;如何在显示过程中改变图像的显示属性和纵横比;如何打印图像;以及如何转换图像的数据类型或图形格式。

数据类型

MATLAB数学支持三种万博1manbetx不同的数字类图像显示:

  • 双精度浮点数(

  • 16位无符号整数(uint16

  • 8位无符号整数(uint8

图像显示命令根据数据存储的数值类对数据值进行不同的解释。8位和16位图像包括关于8位和16位图像存储内部工作的详细信息。

默认情况下,大多数数据占用类数组.这些数组中的数据存储为双精度(64位)浮点数。所有MATLAB函数和功能都可以使用这些数组。

然而,对于以MATLAB函数支持的图形文件格式之一存储的图像,这种数据表示并不总是理想的。万博1manbetx这样的图像中像素的数量可能非常大;例如,一张1000 * 1000的图像有100万像素。由于至少有一个数组元素表示每个像素,因此如果将此图像存储为类,则需要大约8mb的内存

为了减少内存需求,可以将图像数据存储在类数组中uint8而且uint16.这些数组中的数据存储为8位或16位无符号整数。这些数组需要的内存是数据的八分之一或四分之一数组。

位深度

MATLAB输入函数读取任何支持的图形文件格式的最常用位深(每像素位)。万博1manbetx当数据在内存中时,可以将其存储为uint8uint16,或.有关每种受支持格式的位深度合适的详细信息,请参见万博1manbetximread而且imwrite

万博1manbetx支持的图像格式

MATLAB命令读取、写入和显示图像的几种类型的图形文件格式。与MATLAB生成的图像一样,一旦显示图形文件格式的图像,它就成为图像对象。MATLAB支万博1manbetx持以下图形文件格式,以及其他格式:

  • BMP(微软®窗户®位图)

  • GIF(图形交换文件)

  • HDF(分级数据格式)

  • JPEG(联合摄影专家组)

  • 图形文件(画笔)

  • PNG(便携式网络图形)

  • TIFF(带标签图像文件格式)

  • XWD (X窗口转储)

有关这些格式支持的位深度和图像类型的详细信息,请参见万博1manbetximread而且imwrite