图像压缩编码实验报告【学习资料】
- 格式:doc
- 大小:231.00 KB
- 文档页数:6
一、实验目的1. 理解行程编码的原理和过程。
2. 掌握行程编码在图像数据压缩中的应用。
3. 评估行程编码在图像压缩中的性能。
二、实验原理行程编码(Run-Length Encoding,RLE)是一种无损压缩算法,它通过压缩图像中连续的像素序列来减少数据量。
在行程编码中,每个像素值和其连续出现的次数被记录下来,从而减少数据冗余。
三、实验环境1. 操作系统:Windows 102. 编程语言:Python3. 库:NumPy、PIL(Pillow)四、实验步骤1. 读取图像:使用PIL库读取实验图像。
2. 行程编码:对图像进行行程编码处理。
3. 解码:将行程编码后的数据解码回原始图像。
4. 性能评估:比较原始图像和压缩后的图像,评估行程编码的性能。
五、实验结果与分析1. 读取图像实验中使用的图像为“Lenna.jpg”,其尺寸为512×512像素。
2. 行程编码对图像进行行程编码处理,得到压缩后的数据。
3. 解码将行程编码后的数据解码回原始图像。
4. 性能评估(1)压缩比压缩比是指原始图像大小与压缩后图像大小的比值。
通过比较原始图像和压缩后图像的大小,可以评估行程编码的压缩效果。
压缩比 = 原始图像大小 / 压缩后图像大小(2)失真度失真度是指压缩后图像与原始图像之间的差异程度。
通过计算压缩后图像与原始图像的均方误差(MSE),可以评估行程编码的失真度。
MSE = Σ[(I - J)²] / N其中,I为原始图像,J为压缩后图像,N为图像中的像素总数。
5. 实验结果(1)压缩比原始图像大小:2,621,312 bytes压缩后图像大小:448,544 bytes压缩比:5.9(2)失真度MSE = 5.98六、实验结论1. 行程编码在图像数据压缩中具有一定的效果,可以显著减小图像数据量。
2. 压缩后的图像与原始图像在视觉效果上基本一致,失真度较小。
3. 实验结果表明,行程编码在图像压缩中具有一定的实用价值。
基于小波变换的图像压缩编码方法的研究的开题报告一、选题背景和意义:随着数字图像技术的快速发展,图像的存储、传输和处理越来越重要。
而传统的图像压缩编码算法,如JPEG等,虽然具有一定的压缩率,但在保留图像细节和图像质量方面还有待提高。
近年来,基于小波变换的图像压缩编码方法得到了广泛应用。
小波变换是一种将信号分解成不同频率子带的有效方法。
在进行图像压缩时,通过利用小波分解分解出图像的各个频率部分,再根据不同频率部分的重要度进行量化和编码,可以达到更好的压缩效果。
因此,本研究选择基于小波变换的图像压缩编码方法作为研究课题,希望通过研究小波变换的基本原理和压缩编码算法,开发一种图像压缩编码方法,使压缩后的图像质量更为清晰,同时达到更高的压缩率。
二、研究内容和预期目标:1. 小波变换的基本原理和实现方式;2. 常用的小波基函数的选择和比较;3. 基于小波变换的图像压缩编码算法的设计和实现;4. 压缩率和图像质量的度量和评估方法;5. 优化算法的研究和实践。
预期目标:1. 掌握小波变换的基本原理和实现方式;2. 确定适用于图像压缩的小波基函数,并进行比较和分析;3. 实现基于小波变换的图像压缩编码算法,并进行压缩率和图像质量的评估;4. 研究优化算法,提高压缩率和图像质量;5. 实现高效、可靠的图像压缩编码算法,并进行实验验证。
三、研究方法和技术路线:本研究将以文献调研、理论分析和实验验证相结合的方式进行。
具体如下:1. 文献调研:综合国内外相关文献,了解基于小波变换的图像压缩编码方法的研究现状和发展趋势。
2. 理论分析:掌握小波变换的基本原理和实现方式,确定适用于图像压缩的小波基函数,并研究基于小波变换的图像压缩编码算法。
3. 实验验证:使用图像压缩数据集,实现基于小波变换的图像压缩编码算法,并进行压缩率和图像质量的评估。
在此基础上,对算法进行优化并比较,提高图像压缩的效果。
四、预期研究成果:1. 探究基于小波变换的图像压缩编码方法的实现原理;2. 确定优秀的小波基函数并进行比较和分析;3. 实现基于小波变换的图像压缩编码算法并进行评估;4. 研究优化算法,提高图像压缩效果;5. 完成一篇高质量的毕业论文,并得到导师和专业评审人的认可和肯定。
第1篇一、实验目的1. 了解数据压缩的基本原理和方法。
2. 掌握常用数据压缩算法的应用。
3. 分析不同数据压缩算法的性能和适用场景。
二、实验环境1. 操作系统:Windows 102. 编程语言:Python3. 数据压缩工具:Huffman编码、LZ77、LZ78、RLE、JPEG、PNG三、实验内容1. Huffman编码2. LZ77编码3. LZ78编码4. RLE编码5. 图像压缩:JPEG、PNG四、实验步骤1. Huffman编码(1)设计Huffman编码树,计算每个字符的频率。
(2)根据频率构建Huffman编码树,为每个字符分配编码。
(3)将原始数据按照Huffman编码进行编码,得到压缩数据。
(4)解压缩:根据编码表还原原始数据。
2. LZ77编码(1)设计LZ77编码算法,查找匹配的字符串。
(2)将原始数据按照LZ77编码进行编码,得到压缩数据。
(3)解压缩:根据编码表还原原始数据。
3. LZ78编码(1)设计LZ78编码算法,查找匹配的字符串。
(2)将原始数据按照LZ78编码进行编码,得到压缩数据。
(3)解压缩:根据编码表还原原始数据。
4. RLE编码(1)设计RLE编码算法,统计连续字符的个数。
(2)将原始数据按照RLE编码进行编码,得到压缩数据。
(3)解压缩:根据编码表还原原始数据。
5. 图像压缩:JPEG、PNG(1)使用JPEG和PNG工具对图像进行压缩。
(2)比较压缩前后图像的质量和大小。
五、实验结果与分析1. Huffman编码(1)压缩前后数据大小:原始数据大小为100KB,压缩后大小为25KB。
(2)压缩效率:压缩比约为4:1。
2. LZ77编码(1)压缩前后数据大小:原始数据大小为100KB,压缩后大小为35KB。
(2)压缩效率:压缩比约为3:1。
3. LZ78编码(1)压缩前后数据大小:原始数据大小为100KB,压缩后大小为30KB。
(2)压缩效率:压缩比约为3.3:1。
毕业论文(设计) 题目图像压缩编码技术的应用研究学生姓名方超学号20061341002院系信息与控制学院专业测控技术与仪器指导教师陈海秀二O一O年五月二十八日目录摘要 (1)一、绪论 (1)1.1 图像压缩编码的研究意义 (1)1.2图像压缩编码的研究现状和发展 (1)1.3本课题的主要工作 (2)二、图像压缩编码概述 (3)2.1图像压缩编码的必要性和可能性 (3)2.2图像编码压缩方法分类 (4)2.3 图像编码质量的评价 (5)2.3.1图像质量评价的客观准则 (5)2.3.2 图像质量评价的主观准则 (6)三、无损压缩编码原理与实现及其性能对比 (7)3.1霍夫曼编码 (7)3.1.1霍夫曼编码的基本原理 (7)3.1.2 MATLAB实现霍夫曼编码 (9)3.1.3霍夫曼编码压缩前后图像质量对比 (10)四、有损压缩编码原理与实现及其性能对比 (12)4.1预测编码 (12)4.1.1 DPCM编码的基本原理 (12)4.1.2 MATLAB实现DPCM编码 (14)4.1.3 DPCM编码压缩前后图像质量对比 (18)4.2 变换编码DCT (20)4.2.1离散余弦变换(DCT)基本原理 (20)4.2.2 MATLAB实现DCT编码 (22)4.2.3变换编码DCT压缩前后图像质量对比 (26)4.3小结 (27)五、混合压缩编码原理与实现及其性能对比 (27)5.1 JPEG压缩编码标准 (27)5.1.2 MATLAB实现JPEG编码 (28)5.1.3 JPEG编码压缩前后图像质量对比 (31)5.2小波变换压缩编码 (32)5.2.1 小波变化的基本原理 (33)5.2.2MATLAB实现小波变换 (34)5.2.3 小波变换压缩前后图像质量对比 (37)5.3小结 (38)六、结论 (39)参考文献 (40)致谢 (42)Abstract (43)附录 (44)图像压缩编码技术的应用研究方超南京信息工程大学信息与控制学院仪器科学与技术系,南京210044摘要:在满足一定图像质量的条件下,我们可以对图像的数据进行变换、编码和压缩,去除冗余数据来减少表示数字图像时所需要的数据量,以方便图像的存储和传输。
基于小波变换的数字图像压缩(实验5报告)编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(基于小波变换的数字图像压缩(实验5报告))的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为基于小波变换的数字图像压缩(实验5报告)的全部内容。
多媒体技术实验报告学院:姓名:学号:指导老师:尹波时间:1.实验目的1) 掌握小波变换的基本原理,掌握matlab 小波变换工具箱.2) 利用MATLAB 小波程序进行图像压缩。
2. 实验原理● 小波变换基本概念多分辨分析,也称为多尺度分析,即在不同尺度下对事物进行分析.在大尺度上分析信号的全貌,在小尺度上分析信号的细节。
连续小波变换:连续小波变换的结果可以表示为平移因子a 和伸缩因子b 的函数. 小波变换对一个函数在空间和时间上进行局部化的一种数学变换.通过平移母小波(mother wavelet)获得信号的时间信息,通过缩放母小波的宽度(或称尺度)获得信号的频率特性。
对母小波的平移和缩放操作是为计算小波的系数,这些系数代表局部信号和小波之间的相互关系。
● 小波分解树与小波包分解树由低通滤波器和高通滤波器组成的树。
原始信号通过一对滤波器进行的分解叫做一级分解。
信号的分解过程可以迭代,即可进行多级分解。
自然的高通滤波器输出对应的信号的高频分量部分,称为细节分量,低通滤波器输出对应了信号的相对较低的频率分量部分,称为近似分量。
小波分解树(wavelet decomposition tree).用下述方法分解形成的树:对信号的高频分量不再继续分解,而对低频分量连续进行分解,得到许多分辨率较低的低频分量用下述方法分解形成的树:不仅对信号的低频分量连续进行分解,而且对高频分量也进行连续分解,这样不仅可得到许多分辨率较低的低频分量,而且也可得到许多分辨率较低的高频分量.⎰>==<R b a b a dt t t x t t x b a CWTf )()()(),(),(*,,ψψ12,,(,)(),()()()()()a b a b R Rt b CWTf a b x t t x t t dt x t a dt a ψψψ-=<>==⎰⎰基于小波分析的图像压缩二维小波分析用于图像压缩是小波分析应用的一个重要方面。
实验六图像压缩编码算法的实现
一实验内容
给定一个原始图像作为源图像,要求学生达到以下要求:
1. 已经给定RLE编码程序,包括编码过程中调用的 data2rle 函数,在读懂程序的基础上给程序写代码注释。
(没有使用过的 MATLAB 自带函数请使用h
elp 功能进行查询);
2. 已经给定RLE解码程序,包括编码过程中调用的 rle2data函数,在读懂程序的基础上给程序写代码注释。
(没有使用过的 MATLAB 自带函数请使用h
elp 功能进行查询);
3. 在读懂了RLE编码解码程序基础上,请考虑通过何种改进可以使压缩后的数据量变小,并实现自己的改进想法。
二实验要求
学生应按指导教师的要求独立完成实验,并按要求撰写实验报告(应包含实
验核心程序、实验过程和结果中的关键图片和关键数据结果)。
三实验结果。
二值图像压缩编码算法的若干研究的开题报告一、研究背景与意义随着数字图像技术的不断发展,图像处理已经成为了计算机领域中比较热门的研究方向,其中图像压缩编码技术是目前主流的研究方向之一。
在图像处理过程中,图像的质量和存储空间通常是相互矛盾的,因此需要一种高效的图像压缩编码算法来使图像具有更高的压缩率,同时保持图像的质量不会过度下降。
二值图像是常见的一种图像类型,它只有黑和白两种颜色,因此相对于灰度图像或彩色图像,其压缩更容易,并且其应用领域非常广泛,如文字、条形码等。
因此研究二值图像压缩编码算法对于提升图像处理效率、减少存储空间,具有重要的实际意义。
二、主要研究内容本文将以二值图像为对象,针对其特殊的属性进行研究,主要研究以下几个方面:1、综述现有的二值图像压缩编码算法,并对其优缺点进行分析和比较,为后续研究提供参考。
2、提出一种新的二值图像压缩编码算法,通过差异性编码和位平面编码等方法来实现对二值图像的高效压缩,并且保持较高的图像质量。
3、对提出的算法进行对比试验和性能分析,通过对比分析与现有算法的性能,验证该算法的有效性和优越性。
三、预期的研究成果1、综述现有的二值图像压缩编码算法的优缺点,为后续的研究提供参考。
2、提出一种新的二值图像压缩编码算法,使得在有效压缩的情况下,图像质量更高。
3、通过对比分析和性能分析,验证算法的有效性和优越性。
四、研究方法和技术路线本文的研究方法主要包括文献综述、算法设计和实验分析。
1、文献综述:阅读和分析大量的文献和参考资料,对现有的二值图像压缩编码算法的优缺点进行总结和分析。
2、算法设计:结合上述文献综述结果,提出一种新的二值图像压缩编码算法,并且详细说明算法的原理和具体实现过程。
3、实验分析:通过对比实验和性能分析,验证算法的有效性和优越性。
技术路线:1、研究现有的二值图像压缩编码算法,并分析其优缺点。
2、提出一种新的差异性编码与位平面编码相结合的算法,分析其原理及实现过程。
实验二图像预测编码一、实验题目:图像预测编码:二、实验目的:实现图像预测编码和解码.三、实验内容:给定一幅图片,对其进行预测编码,获得预测图像,绝对残差图像, 再利用预测图像和残差图像进行原图像重建并计算原图像和重建图像误差.四、预备知识:预测方法,图像处理概论。
五、实验原理:根据图像中任意像素与周围邻域像素之间存在紧密关系,利用周围邻域四个像素来进行该点像素值预测,然后传输图像像素值与其预测值的差值信号,使传输的码率降低,达到压缩的目的。
六、实验步骤:(1)选取一幅预测编码图片;(2)读取图片内容像素值并存储于矩阵;(3)对图像像素进行预测编码;(4)输出预测图像和残差图像;(5)根据预测图像和残差图像重建图像;(6)计算原预测编码图像和重建图像误差.七、思考题目:如何采用预测编码算法实现彩色图像编码和解码.八、实验程序代码:预测编码程序1:编码程序:i1=imread('lena.jpg');if isrgb(i1)i1=rgb2gray(i1);endi1=imcrop(i1,[1 1 256 256]);i=double(i1);[m,n]=size(i);p=zeros(m,n);y=zeros(m,n);y(1:m,1)=i(1:m,1);p(1:m,1)=i(1:m,1);y(1,1:n)=i(1,1:n);p(1,1:n)=i(1,1:n);y(1:m,n)=i(1:m,n);p(1:m,n)=i(1:m,n);p(m,1:n)=i(m,1:n);y(m,1:n)=i(m,1:n);for k=2:m-1for l=2:n-1y(k,l)=(i(k,l-1)/2+i(k-1,l)/4+i(k-1,l-1)/8+i(k-1,l+1)/8);p(k,l)=round(i(k,l)-y(k,l));endendp=round(p);subplot(3,2,1);imshow(i1);title('原灰度图像');subplot(3,2,2);imshow(y,[0 256]);title('利用三个相邻块线性预测后的图像');subplot(3,2,3);imshow(abs(p),[0 1]);title('编码的绝对残差图像');解码程序j=zeros(m,n);j(1:m,1)=y(1:m,1);j(1,1:n)=y(1,1:n);j(1:m,n)=y(1:m,n);j(m,1:n)=y(m,1:n);for k=2:m-1for l=2:n-1j(k,l)=p(k,l)+y(k,l);endendfor r=1:mfor t=1:nd(r,t)=round(i1(r,t)-j(r,t));endendsubplot(3,2,4);imshow(abs(p),[0 1]);title('解码用的残差图像');subplot(3,2,5);imshow(j,[0 256]);title('使用残差和线性预测重建后的图像');subplot(3,2,6);imshow(abs(d),[0 1]);title('解码重建后图像的误差');九、实验结果:图2.1 Lena图像预测编码实验结果预测编码程序2:x=imread('e:\imagebase\cameraman.jpg');figure(1)subplot(2,3,1);imshow(x);title('原始图像');subplot(2,3,2);imhist(x);title('原始图像直方图');subplot(2,3,3);x=double(x);x1=yucebianma(x);imshow(mat2gray(x1));title('预测误差图像');subplot(2,3,4);imhist(mat2gray(x1));title('预测误差直方图');x2=yucejiema(x1);subplot(2,3,5);imshow(mat2gray(x2));title('解码图像');e=double(x)-double(x2);[m,n]=size(e);erms=sqrt(sum(e(:).^2)/(m*n));%预测编码函数;%一维无损预测编码压缩图像x,f为预测系数,如果f默认,则f=1,即为前值预测function y=yucebianma(x,f)error(nargchk(1,2,nargin))if nargin<2f=1;endx=double(x);[m,n]=size(x);p=zeros(m,n);xs=x;zc=zeros(m,1);if length(f)>1for j=1:length(f)xs=[zc xs(:,1:end-1)];p=p+f(j)*xs;endy=x-round(p);elsexs=[zc xs(:,1:end-1)];p=xs;y=x-round(p);end% yucejiema是解码程序,与编码程序用的是同一个预测器function x=yucejiema(y,f)error(nargchk(1,2,nargin));if nargin<2f=1;endif length(f)>1f=f(end:-1,1);[m,n]=size(y);order=length(f);x0=zeros(m,n+order);for j=1:njj=j+order;for i=1:mtep=0.0;for k=order:-1:1tep=tep+f(k)*x0(i,jj-order-1+k);endx0(i,jj)=y(i,j)+tep;endendx=x0(:,order+1:end);else[m,n]=size(y);x0=zeros(m,n+1);for j=1:njj=j+1;for i=1:mx0(i,jj)=y(i,j)+x0(i,jj-1);endendx=x0(:,2:end);end图2.2 摄影师图像预测编码实验结果实验三图像熵编码与压缩一、实验题目:图像熵编码与压缩二、实验目的:学习和理解建立在图像统计特征基础上的熵编码压缩方法。
实验四图像编码实验——霍夫曼编码、香农-弗诺编码及行程编码一、实验条件PC机数字图像处理实验教学软件大量样图二、实验目的1、熟悉图像霍夫曼编码和香农-弗诺编码的基本原理,了解编程实现的具体步骤,观察编码表,比较编码效率;2、熟悉图像行程编码的的基本原理,了解PCX文件的结构及利用行程编解码实现PCX文件存取的具体过程,比较编码前后的图像;3、了解LZW编解码、GIF文件结构和预测DPCM编解码的基本原理,观察图像编解码效果。
三、实验原理1、霍夫曼编码和香农-弗诺编码的基本原理及编程实现步骤关于霍夫曼编码和香农-弗诺编码的基本原理可以查阅实验系统中的相关文字说明,这里只介绍编程实现的程序流程图,以霍夫曼编码为例:2、行程编码的的基本原理及PCX文件的结构行程编码(Run Length Coding,RLC)的原理非常简单:将图像每行中灰度值相同的相邻象素用一个计数值和该灰度值来代替。
例如:aaaabbccccd,可以表示为4a2b4c1d。
如果图像中存在大面积灰度值相同的区域,那么采用行程编码的效率是惊人的,但是如果图像中每个相邻点的灰度值各不相同,此时用行程编码不但不能压缩,反而会使图像数据大幅度增加。
PCX格式文件采用行程编码进行图像压缩。
PCX文件结构非常简单,仅分为文件头和图像压缩数据两个部分(如果是256色文件,则还要有一个256色调色板存于文件尾部),本系统涉及的PCX文件包括文件头、图像像据和调色板三部分。
PCX文件结构的详细信息可以查阅有关书籍,这里不再赘述。
四、实验内容霍夫曼编码香农-弗诺编码行程编解码及PCX文件存取:从图库中选择图像, 执行图像编码→行程编解码→存为PCX文件, 指定文件名并保存。
执行图像编码→行程编解码→读取PCX文件,打开刚刚保存的PCX文件,比较解码图像和原图像, 结合直方图观察解码图像和原图像的差影图像, 分析并说明行程编码的特点, 指出行程编码在什么情况下的压缩效率最高。
资料本
1
图像压缩编码实验报告
一、 实验目的
1. 了解有关数字图像压缩的基本概念,了解几种常用的图像压缩编码方式;
2. 进一步熟悉JPEG编码与离散余弦变换(DCT)变换的原理及含义;
3. 掌握编程实现离散余弦变换(DCT)变换及JPEG编码的方法;
4. 对重建图像的质量进行评价。
二、 实验原理
1、图像压缩基本概念及原理
图像压缩主要目的是为了节省存储空间,增加传输速度。图像压缩的理想标准是
信息丢失最少,压缩比例最大。不损失图像质量的压缩称为无损压缩,无损压缩
不可能达到很高的压缩比;损失图像质量的压缩称为有损压缩,高的压缩比是以
牺牲图像质量为代价的。压缩的实现方法是对图像重新进行编码,希望用更少的
数据表示图像。应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可
以分为以下3类:
(1)无损压缩编码种类
哈夫曼(Huffman)编码,算术编码,行程(RLE)编码,Lempel zev编码。
(2)有损压缩编码种类
预测编码,DPCM,运动补偿;
频率域方法:正交变换编码(如DCT),子带编码;
空间域方法:统计分块编码;
模型方法:分形编码,模型基编码;
基于重要性:滤波,子采样,比特分配,向量量化;
(3)混合编码
JBIG,H.261,JPEG,MPEG等技术标准。
2、JPEG 压缩编码原理
JPEG是一个应用广泛的静态图像数据压缩标准,其中包含两种压缩算法(DCT和
DPCM),并考虑了人眼的视觉特性,在量化和无损压缩编码方面综合权衡,达到
较大的压缩比(25:1以上)。JPEG既适用于灰度图像也适用于彩色图像。其中最常
资料本
2
用的是基于DCT变换的顺序式模式,又称为基本系统。JPEG 的压缩编码大致分
成三个步骤:
(1) 使用正向离散余弦变换(forward discrete cosine transform,FDCT)把空间域
表示的图变换成频率域表示的图。
(2) 使用加权函数对DCT系数进行量化,该加权函数使得压缩效果对于人的
视觉系统最佳。
(3) 使用霍夫曼可变字长编码器对量化系数进行编码。
3、离散余弦变换(DCT)变换原理
离散余弦变换(DCT)是一种实数域变换,其变换核为实数余弦函数,图像处理
运用的是二维离散余弦变换,对图像进行DCT,可以使得图像的重要可视信息都
集中在DCT的一小部分系数中。 二维DCT变换是在一维的基础上再进行一次DCT
变换,公式如下:
11(0.5)(0.5)(,)()()(,)coscos1,0()2,0NNijijFuvcucvfijuvNNuNcuuN
(1)
f为原图像,经DCT 变换之后,F为变换矩阵。(0,0)F
是直流分量,其他为
交流分量。上述公式可表示为矩阵形式:
(0.5)(,)()cosTFAfAjAijciiN
(2)
其中A是变换系数矩阵,为正交阵。
逆DCT 变换: (,)(,)TfijAFuvA (3)
这里我们只讨论两个N相等的情况,即图像为方形(行列数相等),在实际应用中
对不是方阵的数据都应先补齐再进行变换的。
4、图象质量评价
保真则是压缩后图象质量评价的标准。客观保真度准则:原图象和压缩图象之间
资料本
3
的均方根误差或压缩后图象的均方根信噪比。主观保真度准则:极好、良好、通
过、勉强、低劣、不能用。
客观保真度准则
新旧图像的均方误差
(4)
均方根误差
(5)
把压缩后图像表示成原图像和噪声的叠加
(6)
均方信噪比
(7)
三、实验步骤
1.实验一代码
%%图像压缩编码
IM = imread('C:\Users\lmeng\Desktop\dongman.jpg')
I = rgb2gray(IM); % 将彩色图灰度化
I1 = im2double(I); % 图像存储类型转换
T = myDCT(8); % 使用由函数dctmtx返回的DCT变换矩阵,dctmtx的调用格式为
% 产生二维DCT变换矩阵
L = blkproc(I1,[8 8],'P1*x*P2',T,T'); % 继而利用blkproc函数完成分块操作
% 计算二维DCT,矩阵T及其转置T’是
DCT函数P1*x*P2的参数
% 完成对每个子块的DCT变换
Mask=[ 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0]; %二值掩膜,用来压缩DCT系数,只留下DCT系数中左上角的
10个
L2=blkproc(L,[8 8],'P1.*x',Mask); % 去除每个字块中的多余交流分量系数
I2=blkproc(L2,[8 8],'P1*x*P2',T',T);
imwrite(I2,'after.jpg')
figure;
subplot(121),imshow(I1),title('原图');
1111220000,/,NNNNmsxyxySNRfxyexy
11222001,,NNxyefxygxyN
2
rms
ee
,,,fxygxyexy