MATLAB图像处理基础
的有关信息介绍如下:图像处理技术未来发展可归纳为:
⑴高清晰度电视的研制,开展实时图像处理的理论及技术研究,向着高速、高分辨率、立体化、多媒体化、智能化和标准化方向发展。
⑵图像、图形相结合,朝着三维成像或多维成像的方向发展。
⑶硬件芯片研究。把图像处理的众多功能固化在芯片上,使之更便于应用。
⑷新理论与新算法的研究。
近年来随着一些新理论的引入及新算法的研究,将会成为今后图像处理理论与技术的研究热点。
例如小波分析(Wavelet)、人工神经网络(artificial neural networks)、分形几何(Fractal)、形态学(Morphology)、遗传算法(Genntic Algorithms)等。
随着科学技术的进步以及人类需求的不断增加,图像处理科学无论是在理论上还是实践上,都会取得更大的发展。
MATLAB是进行图像处理的工具之一,具有很大的优势;
基本术语:
MATLAB进行数字图像处理之前,我们必须明确几个基本术语:
1)位图: 是根据图像的尺寸和分辨率创建和保存的图像,由扫描输入。
2)矢量图:使用专用软件绘制的,以数学方程式的方式保存的图像,所以矢量图的清晰度与分辨率无关。
3)象素: 是图像在计算机显示中的度量单位,可以变化,可大可小。
4)分辨率:是用于度量图像在显示器中清晰程度的一个参数,分辨率越高,图像越清晰。分辨率是与象素相关的,即单位长度上的象素数就是分辨率。由此可知,分辨率越高,象素的几何尺寸就越小。
5)图像文件的大小:指一幅图像在计算机中保存时所占用的磁盘空间,其大小与所用的颜色模式有关。灰度图像中的每一个灰度象素只占用一个字节(8位),RGB图像中红、绿、蓝各占用一个字节。另外,图像文件的大小也直接与其分辨率有关,原因是当分辨率增加时,一幅图像所包含的象素量急剧增加。
6)句柄: 通俗地说就是对象的代号或标志,它能使计算机方便地从众多对象中找到所需要的对象并对之加以相应的操作。MATLAB中的句柄图形对象包括轴、文本、菜单、控制框、图像等。
图像文件格式:
⑴ JPEG:Joint Photographic Experts Group,联合图像专家小组,
是第一个国际图像压缩标准,被广泛应用于互联网和数码相机领域,
网站上80%的图像都采用了JPEG压缩标准。
JPEG图像压缩算法:
输入图像被分成8*8或16*16的小块,然后对每一小块进行二维DCT(离散余弦变换)变换,变换后的系数量化、编码并传输;
JPEG文件解码量化了的DCT系数,对每一块计算二维逆DCT变换,最后把结果块拼接成一个完整的图像。在DCT变换后舍弃那些不严重影响图像重构的接近0的系数。
DCT变换的特点是变换后图像大部分能量集中在左上角,因为左上放映原图像低频部分数据,右下反映原图像高频部分数据。而图像的能量通常集中在低频部分。
⑵BMP:Bitmap,是Windows操作系统中的标准图像文件格式,
可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。
它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。
BMP文件的图像深度可选1bit、4bit、8bit及24bit。
BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。
在Windows环境中运行的图形图像软件都支持BMP图像格式。
文件内容:文件头(一个BITMAP FILEHEADER数据结构)、
位图信息数据块(位图信息头BITMAP INFOHEADER)、
调色板、
位图数据;
⑶PCX(Windows Paintbrush):可处理1位、4位、8位、16位、24位等图像数据。文件内容包括文件头、图像数据和扩展色图数据。
⑷TIFF:Tagged Image File Format),标签图像文件格式,是一种主要用来存储包括照片和艺术图在内的图像的文件格式,
TIFF与JPEG和PNG一起成为流行的高位彩色图像格式。
TIFF文件格式适用于在应用程序之间和计算机平台之间的交换文件,它的出现使得图像数据交换变得简单。
处理1位、4位、8位、24位非压缩图像,1位、4位、8位、24位pack bit压缩图像,1位CCITT压缩图像等。
文件内容包括文件头、参数指针表与参数域、参数数据表和图像数据四部分。
⑸PNG:Portable Network Graphics,可移植网络图形格式;
图像文件存储格式,其设计目的是试图替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性。
包括1位、2位、4位、8位和16位灰度图像,8位和16位索引图像,24位和48位真彩色图像。
PNG用来存储灰度图像时,灰度图像的深度可多到16位,存储彩色图像时,彩色图像的深度可多到48位,并且还可存储多到16位的α通道数据。
PNG使用从LZ77派生的无损数据压缩算法,一般应用于JAVA程序、网页或S60程序中,原因是它压缩比高,生成文件体积小。
⑹GIF:Graphics Interchange Format,图像互换格式,是一种基于LZW算法的连续色调的无损压缩格式。其压缩率一般在50%左右,它不属于任何应用程序。
GIF图像文件的数据是经过压缩的,而且是采用了可变长度等压缩算法。
GIF格式的另一个特点是其在一个GIF文件中可以存多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成一种最简单的动画。
⑺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,XYBitmaps,XYPixmmmaps。
⑾RAS(Sun Raster image):有1位bitmap、8位索引、24位真彩色和带有透明度的32位真彩色。
⑿PBM(Portable Bitmap)。
⒀PGM(Portable Graymap)。
⒁PPM(Portable Pixmap)。
3、图像类型及判断:
MATLAB支持四种图像类型:二值图像、索引图像、灰度图像、RGB图像;
在MATLAB中如果要判断一个图像文件的类型,可使用如下指令:
I isbw:若图像为二值图像,则返回真。
I isgray:若图像为灰度图像,则返回真。
I isind:若图像为索引图像,则返回真。
I isrgb:若图像为RGB图像,则返回真。
新版本中已移除不用,这里只做介绍;
图像文件格式的转换:
MATLAB中,一个类型的图像文件转换成另一个类型的图像文件,
将前一个文件的图像数据用imread读出,
用imwrite以适当的格式写到后一个图像文件中去即可。
另外,要将灰度图像I转换成RGB图像,可运用cat指令。
cat函数可以把一些单一的图像合并成图像序列。在图像序列中每个图像需有相同的大小,如果是索引图像,色图也要一致。
图像类型的转换:
图像的查询读写:
imread:
imread函数用于读入各种图像文件,其一般的用法为:
[X,MAP]=imread(‘filename’,‘fmt’)
其中,X,MAP分别为读出的图像数据和颜色表数据,
fmt为图像的格式,
filename为读取的图像文件(可以加上文件的路径)。
imwrite:
imwrite函数用于输出图像,其语法格式为:
imwrite(X,map,filename,fmt)
按照fmt指定的格式将图像数据矩阵X和调色板map写入文件filename。
imfinfo:
imfinfo函数用于读取图像文件的有关信息,其语法格式为:
imfinfo(filename,fmt)
imfinfo函数返回一个结构info,它反映了该图像的各方面信息,
其主要数据包括:文件名(路径)、文件格式、文件格式版本号、文件的修改时间、文件的大小、文件的长度、文件的宽度、每个像素的位数、图像的类型等。