基于MATLAB-的图像压缩处理及其实现
- 格式:docx
- 大小:25.39 KB
- 文档页数:7
实验报告实验一图像的傅里叶变换(旋转性质)实验二图像的代数运算实验三filter2实现均值滤波实验四图像的缩放朱锦璐04085122实验一图像的傅里叶变换(旋转性质)一、实验内容对图(1.1)的图像做旋转,观察原图的傅里叶频谱和旋转后的傅里叶频谱的对应关系。
图(1.1)二、实验原理首先借助极坐标变换x=rcosθ,y=rsinθ,u=wcosϕ,v=wsinϕ,,将f(x,y)和F(u,v)转换为f(r,θ)和F(w,ϕ).f(x,y) <=> F(u,v)f(rcosθ,rsinθ)<=> F(wcosϕ,wsinϕ)经过变换得f( r,θ+θ。
)<=>F(w,ϕ+θ。
)上式表明,对f(x,y)旋转一个角度θ。
对应于将其傅里叶变换F(u,v)也旋转相同的角度θ。
F(u,v)到f(x,y)也是一样。
三、实验方法及程序选取一幅图像,进行离散傅里叶变换,在对其进行一定角度的旋转,进行离散傅里叶变换。
>> I=zeros(256,256); %构造原始图像I(88:168,120:136)=1; %图像范围256*256,前一值是纵向比,后一值是横向比figure(1);imshow(I); %求原始图像的傅里叶频谱J=fft2(I);F=abs(J);J1=fftshift(F);figure(2)imshow(J1,[5 50])J=imrotate(I,45,'bilinear','crop'); %将图像逆时针旋转45°figure(3);imshow(J) %求旋转后的图像的傅里叶频谱J1=fft2(J);F=abs(J1);J2=fftshift(F);figure(4)imshow(J2,[5 50])四、实验结果与分析实验结果如下图所示(1.2)原图像(1.3)傅里叶频谱(1.4)旋转45°后的图像(1.5)旋转后的傅里叶频谱以下为放大的图(1.6)原图像(1.7)傅里叶频谱(1.8)旋转45°后的图像(1.9)旋转后的傅里叶频谱由实验结果可知1、从旋转性质来考虑,图(1.8)是图(1.6)逆时针旋转45°后的图像,对比图(1.7)和图(1.9)可知,频域图像也逆时针旋转了45°2、从尺寸变换性质来考虑,如图(1.6)和图(1.7)、图(1.8)和图(1.9)可知,原图像和其傅里叶变换后的图像角度相差90°,由此可知,时域中的信号被压缩,到频域中的信号就被拉伸。
如何使用MATLAB进行视频压缩与多媒体数据处理方法引言:在现代社会,多媒体数据处理已经成为了人们日常生活中不可或缺的一部分。
其中,视频压缩技术是视频处理领域的一个重要问题。
本文将介绍如何使用MATLAB进行视频压缩与多媒体数据处理方法。
一、视频压缩的基本原理视频压缩是指将原始视频信号通过编码算法,将冗余信息去除,从而减小视频数据量的过程。
视频压缩的基本原理可以简单归纳为两个步骤:空域压缩和频域压缩。
1. 空域压缩空域压缩主要是通过对视频中相邻像素之间的相关性进行编码,减小冗余信息的存储空间。
常用的空域压缩方法有:运动补偿法、差值编码法和空间域内插值法等。
运动补偿法是一种基于图像运动的压缩方法,它通过将图像中有关对象的运动信息存储下来,然后通过预测图像像素值来减小冗余信息。
在MATLAB中,可以使用blockproc函数来进行图像的运动补偿编码。
差值编码法是一种基于图像差异的压缩方法,它通过将图像中相邻像素之间的差异像素值存储下来,然后通过重构图像来减小冗余信息。
在MATLAB中,可以使用im2jpeg函数来进行图像的差值编码压缩。
空域内插值法是一种基于图像内插的压缩方法,它通过对图像像素进行插值来减小冗余信息。
在MATLAB中,可以使用imresize函数来进行图像的空域内插值压缩。
2. 频域压缩频域压缩主要是通过对视频信号进行傅里叶变换,将其从空间域转换到频域,然后利用频域的特性进行数据压缩。
常用的频域压缩方法有:离散余弦变换(DCT)法和小波变换法等。
离散余弦变换(DCT)法是一种基于图像转换的压缩方法,它通过将图像信号转换为频率域信号,然后利用频域的特性进行数据压缩。
在MATLAB中,可以使用dct2函数来进行DCT压缩。
小波变换法是一种基于波形变换的压缩方法,它通过将图像信号转换为时频域信号,然后利用时频域的特性进行数据压缩。
在MATLAB中,可以使用dwt2函数来进行小波变换压缩。
二、MATLAB中的视频压缩工具MATLAB是一种功能强大的数据处理和分析软件,提供了丰富的工具箱和函数来支持多媒体数据的处理和压缩。
《数字图像处理实验报告》实验一图像的增强一.实验目的1.熟悉图像在MATLAB下的读写、输出;2.熟悉直方图;3.熟悉图像的线性指数等;4.熟悉图像的算术运算和几何变换。
二.实验仪器计算机、MATLAB软件三.实验原理图像增强是指根据特定的需要突出图像中的重要信息,同时减弱或去除不需要的信息。
从不同的途径获取的图像,通过进行适当的增强处理,可以将原本模糊不清甚至根本无法分辨的原始图像处理成清晰的富含大量有用信息的可使用图像。
其基本原理是:对一幅图像的灰度直方图,经过一定的变换之后,使其成为均匀或基本均匀的,即使得分布在每一个灰度等级上的像素个数.f=H等或基本相等。
此方法是典刑的图像空间域技术处理,但是由于灰度直方图只是近似的概率密度函数,因此,当用离散的灰度等级做变换时,很难得到完全平坦均匀的结果。
频率域增强技术频率域增强是首先将图像从空间与变换到频域,然后进行各种各样的处理,再将所得到的结果进行反变换,从而达到图像处理的目的。
常用的变换方法有傅里叶变换、DCT变换、沃尔什-哈达玛变换、小波变换等。
假定原图像为f(x,y),经傅立叶变换为F(u,v)。
频率域增强就是选择合适的滤波器H(u,v)对F(u,v)的频谱成分进行处理,然后经逆傅立叶变换得到增强的图像。
四.实验内容及步骤1.图像在MATLAB下的读写、输出;实验过程:>> I = imread('F:\image\');figure;imshow(I);title('Original Image');text(size(I,2),size(I,1)+15, ...'', ...'FontSize',7,'HorizontalAlignment','right');Warning: Image is too big to fit on screen; displaying at 25% > In imuitools\private\initSize at 86In imshow at 1962.给定函数的累积直方图。
数字图像处理实验指导书目录实验一MATLAB数字图像处理初步实验二图像的代数运算实验三图像增强-空间滤波实验四图像分割3实验一 MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.图像间如何转化。
二、实验原理及知识点1、数字图像的表示和类别一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。
例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。
因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。
图像关于x和y坐标以及振幅连续。
要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
采样和量化的过程如图1所示。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。
图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类:➢亮度图像(Intensity images)➢二值图像(Binary images)➢索引图像(Indexed images)➢RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。
若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。
若图像是double类,则像素取值就是浮点数。
使用Matlab进行压缩感知和稀疏信号重建近年来,随着科技的不断发展,信号处理技术也在不断地改进和创新。
其中,压缩感知和稀疏信号重建技术成为了研究的热点之一。
Matlab作为一种常用的科学计算软件,提供了丰富的工具和函数,方便了研究者对信号处理技术进行深入研究。
本文将介绍如何使用Matlab进行压缩感知和稀疏信号重建。
一、压缩感知的基本原理压缩感知是一种新兴的信号采样和重建技术,其核心思想是通过获取信号的部分采样,然后利用信号的稀疏性,从而恢复出完整的信号。
在信号采样过程中,传统的采样方式需要满足奈奎斯特采样定理,即采样频率要高于信号带宽的两倍。
而压缩感知则可以通过远远低于奈奎斯特采样频率的采样率,实现对信号的高精度重建。
压缩感知的基本原理是通过信号的稀疏表示来进行重建。
稀疏信号是指信号在某个基向量下的表示系数大部分为零,即信号具有较少的非零系数。
在实际应用中,大部分信号都可以通过一些稀疏基进行表示,如小波基、傅里叶基等。
压缩感知利用这一点,通过采样矩阵和稀疏基来重建信号。
二、Matlab中的压缩感知工具箱在Matlab中,提供了一个方便实现压缩感知和稀疏信号重建的工具箱——Compressed Sensing Toolbox。
该工具箱提供了一系列函数,可以方便地进行信号采样、压缩和重建。
使用该工具箱的第一步是导入信号,可以从文件中读取信号数据,也可以生成合成信号。
在Matlab中,提供了丰富的函数用于生成各种形式的合成信号,如正弦信号、方波信号等。
导入信号后,可以进行信号的采样。
Compressed Sensing Toolbox提供了多种采样方式,如随机采样、均匀采样等。
对于信号的重建,Compressed Sensing Toolbox提供了多种重建算法,如BP(基追踪算法)、OMP(正交匹配追踪算法)等。
这些算法可以根据信号的稀疏性和采样率进行选择,以达到较好的重建效果。
除了重建算法,该工具箱还提供了一些性能评价指标,如重建误差、稀疏度等。
MATLAB课程设计(基于MATLAB的图像处理的基本运算)课程设计任务书学⽣姓名:专业班级:指导教师:⼯作单位:题⽬: 基于MATLAB的图像处理的基本运算初始条件①MATLAB软件②数字信号处理与图像处理基础知识要求完成的主要任务:(1)能够对图像亮度和对⽐度变化调整,并⽐较结果。
(2)编写程序通过最近邻插值和双线性插值等算法将⽤户所选取的图像区域进⾏放⼤和缩⼩整数倍的和旋转操作,并保存,⽐较⼏种插值的效果。
(3)图像直⽅图统计和直⽅图均衡,要求显⽰直⽅图统计,⽐较直⽅图均衡后的效果。
(4)对图像加⼊各种噪声,⽐较效果。
时间安排:第1周:安排任务,分组第2-17周:设计仿真,撰写报告第18周:完成设计,提交报告,答辩地点:鉴主3楼计算机实验室指导教师签名: 2010年⽉⽇系主任(或责任教师)签名: 2010年⽉⽇摘要MATLAB是—套⾼性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显⽰于⼀体,构成—个⽅便的、界⾯友好的⽤户环境。
MATLAB强⼤的扩展功能为各个领域的应⽤提供了基础,由各个领域的专家相继给出了MATLAB ⼯具箱,其中主要有信号处理,控制系统,神经⽹络,图像处助,鲁棒控制,⾮线性系统控制设计,最优化,⼩波,通信等⼯具箱,这此⼯具箱给各个领域的研究和⼯程应⽤提供了有⼒的⼯具。
借助于这些“巨⼈肩膀上的⼯具”,各个层次的研究⼈员可直现⽅便地进⾏分析、计算及设计⼯作,从⽽⼤⼤地节省了时间。
本次课程设计的⽬的在于较全⾯了解常⽤的数据分析与处理原理及⽅法,能够运⽤相关软件进⾏模拟分析。
通过对采集的图像进⾏常规的图像的亮度和对⽐度的调整,并进⾏最近邻插值和双线性插值等算法将⽤户所选取的图像区域进⾏放⼤和缩⼩整数倍的和旋转操作,并保存,⽐较⼏种插值的效果,以及对图像进⾏直⽅图和直⽅图均衡并加⼊噪声进⾏对⽐,达到本次课程设计的⽬的关键词:MATLAB 亮度和对⽐度插值放⼤旋转噪声AbstractMATLAB is - set of high-performance numerical computation and visualization software, which combines numerical analysis, matrix computation, signal processing and graphics in one form - a convenient, user-friendly user environment.MATLAB is a powerful extension application in various fields to provide a basis by experts in various fields have been given a MATLAB toolbox, which are signal processing, control systems, neural networks, image processing support, robust control, nonlinearcontrol system design, optimization, wavelets, communications toolkit, which this kit to the various areas of research and engineering applications a powerful tool.With these "tools on the shoulders of giants," researchers at all levels can now be easily analyzed directly, calculation and design work, which greatly saves time.The training aims to strengthen the basis of a more comprehensive understanding of commonly used data analysis and processing principles and methods related to the use of simulation software.Images collected by conventional image brightness and contrast adjustments, and the nearest neighbor interpolation and bilinear interpolation algorithm to the user selected image area to zoom in and out several times and rotate the whole operation, and save, comparethe effect of several interpolation and the image histogram and histogram and compared with noise, to the purpose of this course design.Keywords: MATLAB brightness and contrast rotation interpolation noise amplification ⽬录1.MATLAB简介 (1)1.1 MATLA的基本⽤途 (1)1.2 MATLAB的语⾔特点 (1)1.3 MATLAB系统构成 (1)2.数据采集 (2)2.1图像的选取 (2)2.2 图像亮度和对⽐度的调整 (2)2.2.1 编辑M⽂件 (2)2.2.2 MATLAB⽀持的图像格式和类型 (3)2.2.3 图像的读取 (3)2.2.4调整图像亮度和对⽐度 (4)3.图像的⼏何操作 (6)3.1插补操作 (6)3.1.1 插补功能介绍 (6)3.1.2 插补具体操作 (6)3.2 放缩操作 (8)3.2.1放缩功能介绍 (8)3.2.2 具体操作 (9)3.3 旋转操作 (10)3.3.1 旋转功能介绍 (10)3.3.2 具体操作 (10)4.直⽅图统计 (12)4.1灰度图的获取 (12)4.1.1 灰度图的转换功能介绍 (12)4.1.2 具体操作 (12)4.2直⽅图以及直⽅图均衡 (13)4.2.1 直⽅图函数功能介绍 (13)4.2.2 直⽅图具体操作 (14)5.图像的噪声处理 (15)5.1添加噪声的功能介绍 (15)5.2添加噪声的具体操作 (16)6.总结(⼼得体会) (18)7.参考⽂献 (19)1.MATLAB简介1.1 MATLA的基本⽤途MATLAB是矩阵实验室(Matrix Laboratory)之意。
MATLAB图像处理技术与实例展示引言图像处理是一门涉及数字图像处理和计算机视觉的重要学科,它在日常生活中的应用范围非常广泛。
MATLAB作为一种强大的数值计算和可视化工具,提供了许多图像处理的函数和工具箱,能够帮助实现各种图像处理任务。
本文将介绍一些常用的MATLAB图像处理技术,并提供相应的实例展示。
一、图像加噪与去噪图像加噪是指在原始图像上添加一些随机扰动,使原始图像的细节模糊或失真。
在实际应用中,图像往往会受到各种因素的影响,如传感器噪声、压缩噪声等。
为了恢复原始图像的质量,需要进行去噪处理。
MATLAB提供了许多图像加噪和去噪的函数和工具箱。
例如,使用imnoise函数可以在图像上添加高斯噪声、椒盐噪声等。
而使用imnlmfilt函数可以实现非局部均值去噪算法,通过对邻域像素的均值进行补偿,可以有效降低噪声。
实例展示:下面以一个简单的实例展示图像去噪的过程。
首先,我们使用imnoise函数在一张原始图像上添加高斯噪声:```MATLABI = imread('original_image.jpg');noisy_image = imnoise(I, 'gaussian', 0, 0.02);```然后,我们使用imnlmfilt函数对添加噪声的图像进行去噪处理:```MATLABdenoised_image = imnlmfilt(noisy_image);```最后,我们可以将原始图像、添加噪声的图像和去噪后的图像进行对比,以评估去噪效果。
二、图像增强图像增强是指通过一系列的处理方法,改善图像的质量和视觉效果,使图像更加清晰、鲜艳。
图像增强的方法有很多,其中包括直方图均衡化、对比度增强、锐化等。
在MATLAB中,可以使用histeq函数实现直方图均衡化,通过重新分布图像灰度级的分布,增强图像的对比度和细节。
而使用imadjust函数可以进行对比度增强,通过调整图像对比度和亮度来增强图像的视觉效果。
毕业设计文献综述题目: 基于matlab的图像预处理技术研究专业:电子信息工程1前言部分众所周知,MATLAB在数值计算、数据处理、自动控制、图像、信号处理、神经网络 、优化计算 、模糊逻辑 、小波分析等众多领域有着广泛的用途,特别是MATLAB的图像处理和分析工具箱支持索引图像、RGB 图像、灰度图像、二进制图像,并能操作*.bmp、*.jpg、*.tif等多种图像格式文件如。
果能灵活地运用MATLAB提供的图像处理分析函数及工具箱,会大大简化具体的编程工作,充分体现在图像处理和分析中的优越性。
图像就是用各种观测系统观测客观世界获得的且可以直接或间接作用与人眼而产生视觉的实体。
视觉是人类从大自然中获取信息的最主要的手段。
拒统计,在人类获取的信息中,视觉信息约占60%,听觉信息约占20%,其他方式加起来才约占20%。
由此可见,视觉信息对人类非常重要。
同时,图像又是人类获取视觉信息的主要途径,是人类能体验的最重要、最丰富、信息量最大的信息源。
通常,客观事物在空间上都是三维的(3D)的,但是从客观景物获得的图像却是属于二维(2D)平面的。
图像存在方式多种多样,可以是可视的或者非可视的,抽象的或者实际的,适于计算机处理的和不适于计算机处理的。
图像处理它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程 。
图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。
图像处理作为一门学科大约形成于20世纪60年代初期。
早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。
图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。
首次获得实际成功应用的是美国喷气推进实验室(JPL)。
他们对航天探测器徘徊者7号在 1964 年发回的几千张月球照片使用了图像处理技术,如几何校正、灰度变换、去除噪声等方法进行处理,并考虑了太阳位置和月球环境的影响 ,由计算机成功地绘制出月球表面地图,获得了巨大的成功。
数字图像处理实验(MATLAB版)数字图像处理(MATLAB版)实验指导书(试用版)湖北师范学院教育信息与技术学院2009年4月试行目录实验一、数字图像获取和格式转换 2 实验二、图像亮度变换和空间滤波 6 实验三、频域处理7 实验四、图像复原9 实验五、彩色图像处理101实验六、图像压缩11 实验七、图像分割13 教材与参考文献142《数字图像处理》实验指导书实验一、数字图像获取和格式转换一、实验目的1掌握使用扫描仪、数码相机、数码摄像级机、电脑摄像头等数字化设备以及计算机获取数字图像的方法;2修改图像的存储格式;并比较不同压缩格式图像的数据量的大小。
二、实验原理数字图像获取设备的主要性能指标有x、y方向的分辨率、色彩分辨率(色彩位数)、扫描幅面和接口方式等。
各类设备都标明了它的光学分辨率和最大分辨率。
分辨率的单位是dpi,dpi是英文Dot Per Inch的缩写,意思是每英寸的像素点数。
扫描仪扫描图像的步骤是:首先将欲扫描的原稿正面朝下铺在扫描仪的玻璃板上,原稿可以是文字稿件或者图纸照片;然后启3动扫描仪驱动程序后,安装在扫描仪内部的可移动光源开始扫描原稿。
为了均匀照亮稿件,扫描仪光源为长条形,并沿y方向扫过整个原稿;照射到原稿上的光线经反射后穿过一个很窄的缝隙,形成沿x方向的光带,又经过一组反光镜,由光学透镜聚焦并进入分光镜,经过棱镜和红绿蓝三色滤色镜得到的RGB三条彩色光带分别照到各自的CCD 上,CCD将RGB光带转变为模拟电子信号,此信号又被A/D变换器转变为数字电子信号。
至此,反映原稿图像的光信号转变为计算机能够接受的二进制数字电子信号,最后通过串行或者并行等接口送至计算机。
扫描仪每扫一行就得到原稿x方向一行的图像信息,随着沿y方向的移动,在计算机内部逐步形成原稿的全图。
扫描仪工作原理见图1.1。
4图1.1扫描仪的工作原理在扫描仪的工作过程中,有两个元件起到了关键的作用。
一个是CCD,它将光信号转换成为电信号;另一个是A/D变换器,它将模拟电信号变为数字电信号。
Matlab中的数字图像编码方法随着数字图像处理技术的不断发展,数字图像编码变得越来越重要。
而Matlab 作为一种强大的数学软件,提供了许多数字图像编码方法的实现。
本文将介绍一些常见的Matlab中的数字图像编码方法,并讨论它们的原理及应用。
一、JPEG图像编码JPEG是一种常用的基于DCT(离散余弦变换)的图像压缩方法。
其基本原理是将图像分块,并对每个分块进行离散余弦变换。
通过舍弃高频系数,可以实现图像的有损压缩。
在Matlab中,可以使用JPEG编码库实现JPEG图像编码。
这种编码方法被广泛应用于数字图像的存储和传输。
二、JPEG2000图像编码JPEG2000是JPEG的一种改进版本,采用了基于小波的图像压缩技术。
与JPEG相比,JPEG2000具有更高的压缩比和更好的视觉质量。
在Matlab中,可以使用JPEG2000编码库实现JPEG2000图像编码。
这种编码方法在医学图像、卫星图像等领域有着广泛的应用。
三、Run-Length编码Run-Length编码是一种简单有效的无损图像压缩技术。
其原理是统计连续出现的像素值的个数,然后将像素值和个数进行编码。
在Matlab中,可以使用rle编码函数实现Run-Length编码。
这种编码方法常用于二值图像和灰度图像的压缩。
四、Huffman编码Huffman编码是一种根据字符出现频率制定的可变长度编码方法。
其原理是通过构建霍夫曼树,将出现频率较高的字符用较短的编码表示,出现频率较低的字符用较长的编码表示。
在Matlab中,可以使用huffmanenco和huffmandeco函数实现Huffman编码。
这种编码方法常用于对图像的灰度级进行编码。
五、LZW编码LZW编码是一种无损的字典编码方法,常用于无损图像压缩。
其原理是通过利用字典表存储已出现的字符和对应的编码,从而实现对连续出现的字符序列进行编码。
在Matlab中,可以使用lzwenco和lzwdeco函数实现LZW编码。
基于MATLAB-的图像压缩处理及
其实现
基于MATLAB 的图像压缩处理及其实现
一.图像压缩的概念
从实质上来说,图像压缩就是通过一定的规则及方法
对数字图像的原始数据进行组合和变换,以达到用最少的数
据传输最大的信息。
二.图像压缩的基本原理
图像数据之所以能被压缩,就是因为数据中存在着
大量冗余信息,另外还有相当数量的不相干信息,这为数
据压缩技术提供了可能。
数据压缩技术就是利用数据固有的冗余性和不相干
性,将一个大的数据文件转化成较小的文件,图像技术压
缩就是要去掉数据的冗余性。
图像数据的冗余主要表现为:图像中相邻像素间的
相关性引起的空间冗余;图像序列中不同帧之间存在相关
性引起的时间冗余;不同彩色平面或频谱带的相关性引起
的频谱冗余。
由于图像数据量的庞大,在存储、传输、处理时非常
困难,因此图像数据的压缩就显得非常重要。
三.图像的编码质量评价
在图像编码中,编码质量是一个非常重要的概念,怎
么样以尽可能少的比特数来存储或传输一幅图像,同时又让
接收者感到满意,这是图像编码的目标。对于有失真的压缩
算法,应该有一个评价准则,用来对压缩后解码图像质量进
行评价。常用的评价准则有两种:一种是客观评价准则;另
一种是主观评价准则。主观质量评价是指由一批观察者对编
码图像进行观察并打分,然后综合所有人的评价结果,给出
图像的质量评价。而对于客观质量评价,传统的编码方法是
基于最小均方误差(MSE)和峰值信燥比(PSNR)准则的编码方
法,其定义如下
MSE=1NxNy∑∑[f(i,j)−f(i,j)]2Njj=0Nii=0 (1)
PSNR=101g(
255×255
MSE
) (2)
式中:Nx,Nr图像在x方向和Y方向的像素数,f(i,j)——原
图像像素的灰度值,f(i,j)--处理后图像像素的灰度值。对
于主观质量,客观质量评价能够快速有效地评价编码图像的
质量,但符合客观质量评价标准的图像不一定具有较好的主
观质量,原因是均方误差只是从总体上反映原始图像和压缩
图像的差别,但对图像中的所有像点同等对待,因此并不能
反映局部和人眼的视觉特性。对于图像信号,人眼是最终的
信号接受者,因此在压缩时不仅要以MSE作为评价标准,还
应当考虑到人的主观视觉特性。
四.图像压缩的基本方法
1.基于dct变换的图像压缩
1.1
基于DCT的图像压缩编码思想
在编码过程中,首先将输入图像分解成8×8 大小的数
据块,然后用正向二维DCT把每个块转变成64个DCT 系数
值,其中1个数值是直流(DC)系数,即8×8 空域图像子
块的平均值,其余的63个是交流(AC)系数,接下来对DCT
系数进行量化,最后将变换得到的量化的DCT系数进行编码
和传送,形成压缩后的图像格式。在解码过程中,先对已编
码的量子化的DCT 系数进行解码,然后求逆量化并把DCT
系数转化成为8×8 样本像块(使用二维DCT 反变换),最
后将操作完成后的块组合成一个单一的图像。这样就完成了
图像的压缩和解压过程。
1.2 DCT的算法解释
DCT的变换核心为余弦函数。
二维DCT的解析式定义可以由下式表示:
F(0,0)=1N∑∑f(x,y)N−1y=0N−1x=0
(3)
F(0,y)=√2N∑∑f(x,y)N−1y=0N−1x=0cos(2y+1)vπ2N (4)
F(u,0)= √2N∑∑f(x,y)N−1y=0N−1x=0cos(2y+1)uπ2N (5)
F(u,v)= √2N∑∑f(x,y)cos(2x+1)uπ2NN−1y=0N−1x=0cos(2y+1)vπ2N
(6)
其中f(x,y)是空间域二维向量之元素,x,y=0,1,2,…,
N-1,F(u.v)是变换系数阵列元素;式中表示的阵列为N×N。
二维 DCT 反变换(IDCT)解析式定义可以表示为:
F(x,y)=
1NF(0,0)+√2N∑F(0,v)cos(2y+1)vπ
2N
N−1
V=1
+
√
2N∑F(u,0)cos(2x+1)uπ
2N
N−1
u=1
+
2N∑∑F(u,v)cos(2x+1)uπ2NN−1v=1N−1u=1cos(2x+1)vπ
2N
(7)
而在应用Matlab 进行仿真实现中,主要是在解析式定
义基础上采用二维DCT 变换的矩阵式定义来实现的,矩阵
式定义可以表示为:
[F(u,v)] = [A]r [F(u, v)][A] (8)
[ f (x, y)] = [A][ f (x, y)][A]r (9)
其中[f(x,y)]是空间数据阵列,[F(u,v)]是变换系数阵列,[A]
是变换矩阵,[A]T 是[A]的转置。系数量化是一个十分重要
的过程,是造成 DCT 编解码信息损失(或失真)的根源,
在数码图像压缩算法中采用均匀量化器,量化定义可以表述
为:对64 个DCT 系数除以其量化步长,四舍五入取整,即
Q(u, v) = IntegerRound(F(u,v) / S(u, v)) (10)
式中,Q(u,v)为量化的系数幅度,S(u,v)为量化步长,它是量
化表的元素,通常随DCT 系数的位置和彩色分量的不同而
取不同的值,量化表的尺寸为8×8 与64 个DCT 系数(一
般将图像分解成8×8 图像子块进行处理)一一对应。量化
的作用是在保证图像质量的前提下,丢掉那些对视觉影响不
大的信息,以获得较高的压缩比。由于DCT 系数包含了空
间频率信息,可充分利用人眼对不同频率敏感程度不同这一
特征来选择量化表中的元素值大小,对视觉重要的系数采用
细量化,如低频系数被细量化,对高频系数采用粗量化。对
于这一点,从Matlab 仿真得到的DCT 变换谱中得到证明。
经过二维 DCT 变换后得到的矩阵,其非零元素主要集中在
左上角,而右下角大部分是零。其原因是由于图像的低频部
分一般都集中在左上角。利用这一特点我们就可以实现对图
像的压缩。在实际传输时,仅仅传输代表低频分量的左上角,
并对其进行量化编码,其余均去除。当反变换时,只要把去
掉的部分用填零的方式来处理。这样就达到图像压缩的目
的。
1.3算法的matlab实现及其仿真结果
实验程序:
2.基于小波变换的图像压缩
2.1
基于小波的图像压缩编码思想
小波变换图像压缩的基本思想是把图像进行多分辨率
分解,然后再对子图像进行系数编码。系数编码是小波变换
压缩的核心,压缩的实质是对系数的量化压缩。图像做小波
分解后,可得到一系列不同分辨率的子图像,不同分辨率的
子图像对应的频率是不相同的,高分辨率子图像上大部分点
的数值接近于0,而表现一个图像最主要的部分就是低频部
分,对这一部分的压缩应尽可能减少失真或者无失真。所以
利用小波分解,去掉图像的高频细节部分而只保留低频近似
部分。可以使用appcodf2( )函数来提取低频近似系数。为了
提高压缩比,同时能够从压缩后图像数据还原出理想的彩色
图像,对提取的低频近似系数做相应的截取处理,来达到较
好的压缩效果。由于采用的是二维小波分解,于是截取它左
上角1/4 大小的子矩阵。
2.2