傅里叶变换图像压缩_第1页
傅里叶变换图像压缩_第2页
傅里叶变换图像压缩_第3页
傅里叶变换图像压缩_第4页
傅里叶变换图像压缩_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

傅里叶变换图像压缩————————————————————————————————作者:————————————————————————————————日期:DSP实验进度报告组员:汪张扬、任艳波、陈雪松、谢聪、沈旭任务分派:汪张扬因为考G,上周没有任务,沈旭负责自制二值图像的办理,陈雪松和谢聪负责其余图片的办理,任艳波负责收集图像压缩评论的有关资料以下为简要归纳:读入图像进行傅里叶变换和压缩原始程序:a=imread('1.jpg');b=figure;imshow(a);title('原始图像');F=fft2(a);F_mm=abs(F);figure;imshow(F);title('原始幅度谱');Fshift=fftshift(F);_m=abs(Fshift);figure;imshow(F_m);title('幅度谱');F_p=angle(Fshift);figure;imshow(F_p);title('相位谱');=@fft2;B1=blkproc(a,[88],T);%将图像分块为8×8矩阵进行办理figure;imshow(a);title('原始图像');mask=[1000000001000000001000000001000000000000000001000000001000000001];%与该矩阵相乘去掉中间行,即高频部分B2=blkproc(B1,[88],'P1*x',mask);fun=@ifft2;F3=blkproc(B2,[88],fun);F=mat2gray(F3);figure;imshow(F);itle('压缩87.5%的图像');刚开始的原始图像:原始图像傅里叶变换后的原始幅度谱:原始幅度谱取高频点后的图像:压缩87.5%的图像取对数后的频谱图:图像进行取整后的i=imread('1.jpg');figure(1);mshow(i);colorbar;j=fft2(i);k=fftshift(j);h=floor(k);n=ifft2(h)/255;figure(3);m=imresize(n,2);imshow(m,[]);colorbar0.80.60.40.20-0.2-0.4-0.6-0.8取小幅值为零:=imread('d:\1.jpg');figure(1);imshow(i);colorbar;j=fft2(i);k=fftshift(j);k(abs(k)<1)=0;g=ifft2(k)/255;figure(2);h=imresize(g,2);imshow(h);colorbar10.90.80.70.60.50.40.30.20.10结论:二维黑白图像的压缩主要有三种方式:取整,让小幅值为零,或许利用矩阵的变换只取某些变换后的值进行重修,如矩阵的左上角为低频部分,取它即可。取整重修将黑色部分变白了,小幅值变换将白色部分变黑了。二、实验前后的构造比较(一)、自然景观(1)、原图:(2)、改正DFT系数为整数,做IDFT察看图像的变化改正DFT系数为整数figure2改正后时域与原时域的偏差为0(3)、改正小幅值的DFT系数为0,做IDFT变化察看图像的变化改正小幅度频谱系数为0figure3改正后时域与原时域的偏差为1471.6806242515此处取频谱虚实部中最大值的0.0005作为取零的阈值。(二)、人物照片(1)、原图(2)、改正DFT系数为整数,做IDFT察看图像的变化改正DFT系数为整数figure2改正后时域与原时域的偏差为0(3)、改正小幅值的DFT系数为0,做IDFT变化察看图像的变化改正小幅度频谱系数为0figure3改正后时域与原时域的偏差为1349.14370621138此处取频谱虚实部中最大值的0.0005作为取零的阈值。(三)、卡通图片(1)、原图(2)改正DFT系数为整数,做IDFT察看图像的变化改正DFT系数为整数:figure2改正后时域与原时域的偏差为0(3)、改正小幅值的DFT系数为0,做IDFT变化察看图像的变化改正小幅度频谱系数为0figure3改正后时域与原时域的偏差为2546.此处取频谱虚实部中最大值的0.0005作为取零的阈值。三、实验剖析与说明(1)、实验中图片频谱中的小幅度部分需要商讨,此处取的是最大值的0.0005倍。(2)、实验中原图取自jpg格式的rgb彩色图。(3)、实验的结果图也已jpg格式储存(4)、jpg格式自己就是采纳了频谱取整取零技术。四、实验结论(1)、实验中小幅度的阈值不可以获得太大,不然图片会失真。本次试验去的是0.0005倍,出现较显然的失真;实验中发现取为0.0001,就几乎看不出失真。(2)、对于频谱取整,我想应当是要将4字节的double变为2字节的int,可以节俭约50%的储存空间。并且从本次实验能够看出频谱取整几乎不失真。(3)、对于频谱小幅度取零,这个阈值需要依据详细图片来确立,或许找寻自适应的阈值;认为它对图片的失真度和压缩率也起主要作用。阈值太小,越不简单失真,但要压缩率也越小;阈值太大,越简单失真,但压缩率也越大。(4)、自然景观、人物照片、卡通图片这三类对赞同阈值的敏感度不一样;下附实验代码:下边是对对片的办理的所有代码,图片名K1.jpg为待办理的图片;%2)改正DFT系数为整数,做IDFT察看图像的变化;%3)改正小幅值的DFT系数为0,做IDFT变化察看图像的变化。%4)选用不一样种类(自然景观、人物照片、卡通图片)的实质图片重复上述处理并剖析结果;closeall;formatlonggA3=imread('K1.jpg');%原图gA3=rgb2gray(A3);%原灰度图disp('原图figure1')igure;imshow(gA3);%改正DFT系数为整数f_gA3=fft2(gA3);%频谱int_f_gA3=int32(f_gA3);%频谱取整int_gA3=uint8(ifft2(int_f_gA3));%反变换figure;imshow(int_gA3);thltaA3=double(int_gA3-gA3);nzero=numel(find(thltaA3));disp('改正DFT系数为整数figure2')disp('改正后时域与原时域的偏差为')ifnzero>1disp(norm(thltaA3));elsedisp('0');end%改正小幅值的DFT系数为0maxA3real=max(max(real(f_gA3)));maxA3imag=max(max(imag(f_gA3)));maxA3=maxA3real;ifmaxA3<maxA3imagmaxA3=maxA3imag;nd_f_gA3=f_gA3;orm=1:size(f_gA3,1)forn=1:size(f_gA3,2)ifabs(f_gA3(m,n))<maxA3*0.0005z_f_gA3(m,n)=0;endendend_gA3=uint8(ifft2(z_f_gA3));figure;imshow(z_gA3);%改正小幅度频谱系数为0后的图像thltaA3_z=double(z_gA3-gA3);zero_z=numel(find(thltaA3_z));disp('改正小幅度频谱系数为0figure3')disp('改正后时域与原时域的偏差为')ifnzero_z>1disp(norm(thltaA3_z));elsedisp('0');ndormatshort收集有关评论压缩图像的标准的资料及评论的算法实现;学习Matlab中与图像办理有关的常用函数的使用图像压缩的主要指标1、编码效率:包含图象压缩比(CR)、每象素所用的比特数(bpp)、每秒所需的传输比特数(bps)等;此中,CR=原始图像大小/压缩后图像大小。设:n1和n2是在两个表达同样信息(图片)的数据集中,所携带的单位信息量。压缩率(压缩比):CR=n1/n2??此中,n1是压缩前的数据量,n2是压缩后的数据量相对数据冗余:RD=1–1/CR重修图象质量,包含客观胸怀和主观胸怀。(1)客观胸怀:即图象的传神度,可考虑为原图象与重修图象的差值。假如把压缩后图像表示为原图像和噪声的叠加,即用f(x,y)表示原图像,g(x,y)表示压缩后图像,e(x,y)表示噪声,则可有f(x,y)-g(x,y)=e(x,y)。此中x取值为0--M-1之间的整数,y取值为0--N-1之间的整数。222均方偏差:MSE=ee(x,y)Ef(x,y)g(x,y)1M1N12f(x,y)g(x,y)=MNx0y0MSE值越小,保真度越好。10log25522峰值信噪比PSNR=ef2(x,y)2(SNR)=e(x,y)信噪比xyxyf2(x,y)xy[f(x,y)g(x,y)]2=xy均方根信噪比越大,保真度越好。?(2)主观胸怀:即经过人们的主观察试来评论系统的质量,包含二元裁决(即“接受”和“不行接受”)、主观PSNR、均匀判分、等独爱度曲线、多维计分(MDS)等。MATLAB中求均值、方差的函数实现:1、Matlab中使用mean2(H)来求矩阵H中所有元素的均值。如在命令行输入:A-average=mean2(A-gray)即可得灰度图各像素点均值。2、Matlab中供给标准差计算函数std()和std2(),两个函数的使用方法如下:S=std(X)S=std2(X)S=std(X,flag,dim)我们能够经过std2()函数来计算二维图像中各点像素的标准差。如在命令行输入std2(A-gray)即可求得灰度图各像素点的标准差。3、Matlab中供给了方差计算函数var(),能够方便地计算矩阵的方差,函数的使用方法以下:在命令行中输入var(double(A_gray(:)))即可求得灰度图各像素点的方差。4、信噪比SNR1=mean2(f*f)p2=mean2(e*e)SNR=p1/p2我们的下一步计划:(1)、研究取整,即变为1的倍数,变为向k的倍数取整;(2)、研究小幅度的阈值的规律;(3)、研究不一样类图片的差异,和同一类图片

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论