基于MATLAB的图像压缩处理技术

(整期优先)网络出版时间:2022-03-22
/ 2

基于 MATLAB的图像压缩处理技术

刘彦一

北方自动控制技术研究所

摘要:图像处理技术不断发展创新,在图像压缩处理中,MATLAB软件已得到推广和应用,运算功能、模拟功能强大,在复杂图像处理中优势显著,能够显著提升图像处理效率。本文选择真彩色RGB图像作为研究对象,在此基础上转换为彩色索引图像矩阵,然后再进行二进小波多层分解,对于低频近似的系数矩阵进行截取处理,同时对索引图像的颜色图进行优化处理,压缩比比较高,同时压缩速度快。

关键词:图像压缩处理;MATLAB;应用

图像处理领域学科类型多,涉及光学、电子技术、计算机技术等等,在工业生产、医疗、科学技术、教育等多个领域的应用范围广泛,专业性比较强。近年来,Matlab软件已得到推广应用,Matlab软件的语法结构简单,数值计算、图像处理和图形绘制等功能均比较好,同时还可显著提升图像可视化效果。因此,对基于MATLAB的图像压缩处理技术进行深入研究迫在眉睫。

一、图像处理的涵义

(一)图像处理。在图像处理中,数据量庞大,并且相关技术水平有待提升,因此图像处理难度较大。随着计算机技术的不断发展,图像处理技术也随之创新,在图像获取中,可利用相机、摄影机、扫描仪等多种设备,通过利用各类仪器设备可获得数字图像,同时完成图像采集。

(二)图像处理目的。图像处理的作用在于提升图像品质,在处理过程中消除不需要的部分,便于观察和识别图像。现如今,图像处理要求显著提升,在图像传输和保存中会占用大量资源,基于此,压缩编码随之产生,通过对图像进行压缩处理,能够有效节约图像储存空间,促进图像信息传输速度的提升。图像中所包含的特征信息比较多,通过利用计算机软件,可显著提升图片识别准确性。另外,为保证图像信息安全性,可对图像进行加密处理,避免在图像传输过程中造成隐私泄露问题[1]

二、MATLAB图像处理工具箱主要功能

(一)图像变换。在图像变换中,通过采用正交变换方式,包括傅里叶变换、余弦变换等,将图像从时间域转变至频率域,进而显著提升原图像质量,在此过程中,可利用MATLAB软件中的多种函数,如fft2()函数、dct2()函数等。

(二)图像增强。在整个图像中,部分区域具有特殊意义,对此,可进行图像增强处理,据此更好的关注图像重点,并进行处理分析。低域图像增强方法,可分为两种类型,包括空间域和变换域。

(三)图像压缩。如果图像数据量比较大,则可进行图像压缩,进而达到去冗余化作用,减少图像存储空间,同时显著缩短图像传输所需时间。在图像压缩处理中,也可利用MATLAB中的多种函数,如imratio()。

(四)图像分割。在图像研究中,需提取出图像中的某个部分,对此,需对图像进行分割处理。在图像分割处理中,可采用多种处理方法,包括灰度阈值法、边缘法、边界法等等,利用MATLAB软件中的edge()等函数,即可完成图像分割处理[2]

三、图像压缩处理方法

(一)小波编码的基本思想。对于原始图像,采用二维小波变换处理方式进行转换,形成小波域上的小波系数,再针对小波系数进行量化编码。在对原始图像进行小波变换处理后,原始图像中的能量即可集中于少部分小波系数。因此,在原始图像系数量化处理中,可去除某个阀值以下的系数,仅可保留部分能量比较大的小波系数,据此完成图像压缩处理。

(二)小波压缩的原理。在小波压缩处理中,可利用可逆嵌入小波压缩算法CREW,在静止图像压缩处理中,可将CREW算法作为重要基础。

通过对小波换算中的算法进行分析,对于小波变换方式,可分为S变换和TS变换两种:

S变换:

62396fb707298_html_58ecb99eda22f0c4.gif

62396fb707298_html_91058e13d61cf496.gif

TS变换:

62396fb707298_html_1dfefd7d01d1cf0.gif

62396fb707298_html_3ceb70f31e320f80.gif

对于图像,可划分为4个层次,由于TS变换的去相关性比较好,因此,在第一层次、第二层次以及垂直方向的第三层次、第四层次水平方向,均可开展TS变换,而对于其余部分,可进行S变换。

在小波系数排列过程中,可将小波树划分为多个编码单元,对于小波系数,可采用光栅扫描方式进行排列。

在二进制值熵编码过程中,在对待编码符号进行编码时,二进制编码方式有两种类型:第一,二进制算术编码;第二为有限状态机(FSM)编码器。

四、MATLAB在图像压缩处理中的应用

在MATLAB软件的实际应用中,在图像文件的基础上,可读取图像数据,利用Matlab软件中的imread()函数即可完成上述处理。比如,在计算机F盘中,某个文件夹中存储彩色图像1.jpg,在图像处理中,可采用以下语句:

62396fb707298_html_7cdbdcaa6bae9d55.gif

在图像处理中应用Matlab,该图像处理工具箱所能够处理的图像类型有四种,具体包括索引图像、二进制图像、灰度图像以及RGB图像。通过利用Matlab读取彩色图像,即可读取出RGB图像,并存储在三维数组中,三维数组包含3个面,与红(Red)、绿(Green)、蓝(Blue)三种颜色相对应,另外,面中的数据指的是三个颜色的强度值,面中的元素和图像中的像素点相对应。

在小波工具箱的实际应用中,即可对索引图像进行处理,如果真彩色RGB图像为非索引,则需将彩色图像转变为索引图像,然后再进行图像处理。对于上述图像压缩处理任务,可采用Matlab软件中的rgb2ind()函数完成,比如,根据上述例子进行分析:

62396fb707298_html_982e498ee513d485.gif

索引图像数据包含两个部分,其一为图像矩阵x,其二为颜色图数组map,对于颜色图map,可根据图像中的颜色值进行排序。在各个像素图像矩阵x中包含一个值,即map中的索引。颜色图map指的是m*3双精度矩阵,对于各行,可分别制定色值,包括红、绿、蓝,map=[RGB],R、G、B的值域在[0,1]之间。m指的是索引图像中像素的数量。可根据实际需要选择应用小波函数,对索引图像进行压缩处理。比如,针对上述例子所形成的索引图像x,可采用db1小波进行分解处理:

62396fb707298_html_904db5a43196b74d.gif

在对索引图像进行小波分解处理后,即可获得分辨率有所不同的子图像,而子图像分辨率不同,所对应的频率也有一定区别。如果子图像分辨率比较高,则大部分点的数值接近0。在图像分析中,低频部分可展现出图像的特征,因此,在图像压缩处理中,可应用小波分解法进行处理,去除图像中的高频部分,与此同时保留低频部分[3]

在对图像进行多层小波分解处理后,对于所有成分系数,均可保存在向量c中。在图像处理中,可应用Matlab软件中的appcoef2()函数以及detcoef2()函数完成图像处理。通过应用Matlab软件,可对低频相似部分进行处理,在具体的处理过程中,仅需提取低频近似系数:

62396fb707298_html_fc684d7241b4356d.gif

为了提升压缩比,在对图像进行压缩处理后,利用图像数据,即可还原出彩色图像,对于所提取的低频近似系数,还可采用截取处理方式提升压缩效果。

在低频近似系数ca1矩阵的基础上,可采用二进小波分解处理方式,选择左上角子矩阵:

62396fb707298_html_bbab1aab11a39cb3.gif62396fb707298_html_d9f951118d410809.gif62396fb707298_html_da7e82e42e065be4.gif

当数据相同时,可应用uint8格式,与双精度格式相比,能够有效节约存储空间,经济性比较高。在Matlab软件中,当索引图像颜色图在256行以内时,对于图像矩阵,可采用uint8格式进行存储,另外,还可采用双精度格式进行存储。对于在应用上述处理方式后所形成的彩色索引图像,可采用经济性比较好的方式进行存储,提升图像压缩效果。

总结:

综上所述,本文主要对基于MATLAB软件的图像处理方法进行了详细探究。在图像处理中,MATLAB数字图像处理工具箱中的函数类型比较多,在图像变换、增强、压缩以及分割处理中,均可利用MATLAB程序,提升数字图像处理效果。

参考文献

[1]戚晓晶.基于图像修复的图像编码技术[J].数字通信世界,2018,000(001):242.

[2]关雪梅.基于Matlab的小波变换图像压缩算法研究[J].赤峰学院学报:自然科学版,2018,34(9):2.

[3]张银慧.基于MATLAB的数字图像JPEG压缩编码实现[J].电脑迷,2018(2):1.