MATLAB支持的几种图像文件格式

本文介绍了MATLAB中支持的各种图像文件格式,包括JPEG、BMP、PCX等,并详细阐述了MATLAB支持的五种图像类型及其数据表示方式。同时,文章还讲解了如何判断图像类型、进行图像类型转换以及如何读取和写入图像文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://blog.sina.com.cn/s/blog_65906d030100phuu.html点击打开链接

MATLAB支持的几种图像文件格式:


⑴JPEG(Joint Photogyaphic Expeyts Group):一种称为联合图像专家组的图像压缩格式。

⑵BMP(Windows Bitmap):有1位、4位、8位、24位非压缩图像,<WBR>8位RLE(Run length Encoded)的图像。文件内容包括文件头(一个BITMAP FILEHEADER数据结构)、位图信息数据块(<WBR>位图信息头BITMAP INFOHEADER和一个颜色表)和图像数据。

⑶PCX(Windows Paintbrush):可处理1位、4位、8位、16位、<WBR>24位等图像数据。文件内容包括文件头、<WBR>图像数据和扩展色图数据。

⑷TIFF(Tagged Iamge File Format):处理1位、4位、8位、24位非压缩图像,<WBR>1位、4位、8位、24位packbit压缩图像,<WBR>1位CCITT压缩图像等。文件内容包括文件头、<WBR>参数指针表与参数域、参数数据表和图像数据四部分。

⑸PNG(Portable Network Graphics):包括1位、2位、4位、<WBR>8位和16位灰度图像,8位和16位索引图像,<WBR>24位和48位真彩色图像。

⑹GIF(Graphics Interchange Format):任何1位到8位的可交换的图像。

⑺HDF(Hierarchial Data Format):有8位、24位光栅图像数据集。

⑻ICO(Windows Icon resource):有1位、4位、8位非压缩图像。

⑼CUR(Windows Cursor resource):有1位、4位、8位非压缩图像。

⑽XWD(X Windows Dump):包括1位、8位Zpixmaps,<WBR>XYBitmaps,XYPixmmmaps。

⑾RAS(Sun Raster image):有1位bitmap、8位索引、<WBR>24位真彩色和带有透明度的32位真彩色。

⑿PBM(Portable Bitmap)。

⒀PGM(Portable Graymap)。

⒁PPM(Portable Pixmap)。

2.MATLAB支持五种图像类型,即二值图像、索引图像、<WBR>灰度图像、RGB图像和多帧图像阵列。

图像类型


Double数据


uint8和uint16数据



二值图像


图像为m×n的整数矩阵,元素值范围[0,1]


图像为m×n的整数矩阵,元素值范围[0,1]



索引图像


图像为m×n的整数矩阵,元素值范围[0,p]


图像为m×n的整数矩阵,元素值范围[0,p-1]



灰度图像


图像为m×n的浮点数矩阵,元素值范围[0,1]


图像为m×n的整数矩阵,元素值范围[0,255]或[0,<WBR>65535]



RGB图像


图像为m×n×3的浮点数矩阵,元素值范围[0,1]


图像为m×n×3的整数矩阵,元素值范围[0,255]或[0,<WBR>65535]








其中,多帧图像阵列是由多帧图像组成的,<WBR>每一帧图像可以为前四种图像中的一种,<WBR>但组成一个多帧图像阵列的图像必须为同一种。<WBR>cat函数可以将具有相同尺寸的几个独立图像存成多帧文件。<WBR>对于多帧图像也可以从中提取单帧。




2.2.2 图像类型判断及转换






1.在MATLAB中如果要判断一个图像文件的类型,<WBR>可使用如下指令:

l isbw:若图像为二值图像,则返回真。

l isgray:若图像为灰度图像,则返回真。

l isind:若图像为索引图像,则返回真。

l isrgb:若图像为RGB图像,则返回真。

2.在MATLAB系统中,<WBR>要将一个类型的图像文件转换成另一个类型的图像文件,<WBR>只需将前一个文件的图像数据用imread读出,<WBR>再用imwrite以适当的格式写到后一个图像文件中去即可。<WBR>另外,要将灰度图像I转换成RGB图像,可运用cat指令。<WBR>cat函数可以把一些单一的图像合并成图像序列。<WBR>在图像序列中每个图像需有相同的大小,如果是索引图像,<WBR>色图也要一致。

此外,MATLAB还提供了若干函数,用于图像类型的转换。<WBR>这些函数有:

l dither:用抖动法(dithering)转换图像。<WBR>该函数通过颜色抖动(颜色抖动即改变边沿像素的颜色,<WBR>使像素周围的颜色近似于原始图像的颜色,<WBR>从而以空间分辨率来换取颜色分辨率)<WBR>来增强输出图像的颜色分辨率。<WBR>该函数可以把RGB图像转换成索引图像或把灰度图像转换成二值图<WBR>像。

l gray2ind:灰度图像或二值图像向索引图像转换。

l grayslice:设定阈值将灰度图像转换为索引图像。

l im2bw:设定阈值将灰度、索引、RGB图像转换为二值图像。

l im2double:将图像数组转换为double型。

l im2uint8:将图像数组转换为uint8型。

l im2uint16:将图像数组转换为uint16型。<WBR>该函数不支持二值图像序列的转换。

l ind2gray:索引图像向灰度图像转换。

l ind2rgb:索引图像向RGB图像转换。

l mat2gray:将一个数据矩阵转换为灰度图像。

l rgb2gray:<WBR>RGB图像向灰度图像转换或将彩色色图转换成灰度色图。

l rgb2ind:RGB图像向索引图像转换。包含三种不同方法:<WBR>均衡量化、最小值量化、色图映射。

l im2java:一般图像向Java图像转换。

l label2rgb:标志图像向RGB图像转换。




2.2.3 图像的查询及读写






在MATLAB中要查询一个图像文件的信息,<WBR>只要用imfinfo指令加上文件及其完整路径名即可。<WBR>函数调用格式为:

info = imfinfo(filename,fmt)

info = imfinfo(filename)

参数fmt对应于所有图像处理工具箱中所有支持的图像文件格式。




MATLAB提供了两个重要的用于图像文件的读写的指令,<WBR>分别是从图像文件中读取数据的imread,<WBR>以及将数据写入到图像文件中的imwrite。

1.imread的常见调用格式为:

A = imread(filename,fmt)

其作用是将文件名用字符串filename表示的,<WBR>扩展名用fmt表示的图像文件中的数据读到矩阵A中。<WBR>如果filename所指的为灰度级图像,则A为一个二维矩阵;<WBR>如果filename所指的为RGB图像,则A为一个m×n×<WBR>3的三维矩阵。<WBR>Filename表示的文件名必须在MATLAB的搜索路径范围<WBR>内,否则需指出其完整路径。

imread的其他几种重要的调用格式为:

[X,map] = imread(filename.fmt)

[…] = imread(filename)

[…] = imread(URL,…)

[…] = imread(…,idx) (CUR,ICO and TIFF only)

[…] = imread(…,’frames’,idx) (GIF only)

[…] = imread(…,ref) (HDF only)

[…] = imread(…,’BackgroundColor’,BG) (PNG only)

[A,map,alpha] = imread(…) (ICO,CUR and PNG only)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值