您当前的位置:matlab资源网文章中心资料 → 文章内容

MATLAB图像处理基础

作者:佚名  来源:转载http://blog.163.com/panjun_316/blog/static/35059488200846104059983/  发布时间:2008-5-14 21:41:49

2.2.1 图像文件格式及图像类型

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

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

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

PCXWindows Paintbrush):可处理1位、4位、8位、16位、24位等图像数据。文件内容包括文件头、图像数据和扩展色图数据。

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

PNGPortable Network Graphics):包括1位、2位、4位、8位和16位灰度图像,8位和16位索引图像,24位和48位真彩色图像。

GIFGraphics Interchange Format):任何1位到8位的可交换的图像。

HDFHierarchial Data Format):有8位、24位光栅图像数据集。

ICOWindows Icon resource):有1位、4位、8位非压缩图像。

CURWindows Cursor resource):有1位、4位、8位非压缩图像。

XWDX Windows Dump):包括1位、8ZpixmapsXYBitmapsXYPixmmmaps

RASSun Raster image):有1bitmap8位索引、24位真彩色和带有透明度的32位真彩色。

PBMPortable Bitmap)。

PGMPortable Graymap)。

PPMPortable Pixmap)。

2.MATLAB支持五种图像类型,即二值图像、索引图像、灰度图像、RGB图像和多帧图像阵列。有关它们的定义见下表2.1。

表2.1 图像类型及其对应的像素数据类型

图像类型

Double数据

uint8uint16数据

二值图像

图像为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,65535]

RGB图像

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

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

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

2.2.2 图像类型判断及转换

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

l         rgb2grayRGB图像向灰度图像转换或将彩色色图转换成灰度色图。

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

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

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

2.2.3 图像的查询及读写

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

info = imfinfo(fil

[1] [2] [3]  下一页

文章评论 (评论内容只代表网友观点,与本站立场无关!)

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码