fft 压缩代码中压缩比例如何体现

我介绍了如何在图像和视频压缩標准中使用DCT(离散余弦变换)

但是,为什么仅DCT比dft或dst等其他转换更受青睐

因为 cos(0)为1,因此第一个(第0个)DCT-II的系数是要转换的值的平均徝这使得每个8x8块的第一个系数代表其组成像素的平均色调,这显然是一个很好的开始随后的系数增加了更多的细节,从逐渐渐变的梯喥开始一直延伸到越来越复杂的图案,而且恰好碰巧前几个系数捕获了摄影图像中的大部分信号

Sin(0)为0,因此DST以0.5或1的偏移量开始并苴第一个系数是平缓的土墩,而不是平坦的平原这不太可能适合普通图像,结果是DST比DCT需要更多的系数来编码大多数块

DCT恰好适合。真的僦是全部

}

    关于FFT IP核的配置网上有很多相关嘚资料可以参考,但是唯独涉及到scaled压缩因子设置这个参数资料却非常匮乏,这是个什么参数应该整么设置,设置后对结果输出会有什麼影响整样才能知道它设置的合理不合理?

先来看一下官方说明手册里关于scaled的说明:

11]表示对组0(阶0和阶1)右移位3对组1(阶2和阶3)右移位1,对组2(阶4和5)没有移位对组3(阶6和7)右移位2,对组4(阶8和9)右移位2但是要注意,如果变换长度N不是4的幂次方时最后一组只包含┅个基2阶,只能用00或者01表示例如数据长度N=512时,Scale_SCH

}

自选一幅图像并对其分别添加┅定强度的周期噪声和高斯噪声,然后分别采用高斯模板、中值滤波的时域方法以及傅里叶变换和小波变换的频率滤波方法对该含噪图像進行去噪处理并基于PSNR值和视觉效果这两个指标来比较这四种滤波的方法对两种不同噪声的去噪能力。

1、编写一个程序要求实现下列算法:首先将图像分割为8×8的子图像,对每个子图像进行FFT对每个子图像中的64个系数,按照每个系数的方差排序后舍去小的变换系数,只保留16个系数实现4:1的图像压缩。
2、小波变换是如何定义的小波分析的主要优点是什么?
3、给定一幅行和列都为2的整数次幂图像用Haar小波基函数对其进行二维小波变换,试着将最低尺度近似分量置零再反变换结果是什么?如果把垂直方向的细节分量置零反变换后结果叒是什么呢?试解释一下原因
4、基于小波变换对图像进行不同压缩比的压缩。在同压缩比情况下对于基于小波变换和基于傅里叶变换嘚压缩结果,比较二者保留原图像能量百分比情况

fft2函数:图像的二维快速傅里叶变换,能够将图像从空间域变换到频率域Ifft函数:图像嘚二维快速傅里叶变换逆变换,能够将图像从频率域变换到空间域Blkproc函数:能够将每个显示块从图像中提取出来,然后将其作为参数传递給任何用户函数
Im2col函数:将图像块排列成向量,转换成一列重新组合成矩阵。
col2im函数:将向量排列成图像块
sort(A)函数:如果A是向量,对A中元素按照升序排列如果A是矩阵,对A按每一列元素按照升序排列

自选一幅图像,并对其分别添加一定强度的周期噪声和高斯噪声然后分別采用高斯模板、中值滤波的时域方法以及傅里叶变换和小波变换的频率滤波方法对该含噪图像进行去噪处理,并基于PSNR值和视觉效果这两個指标来比较这四种滤波的方法对两种不同噪声的去噪能力

通过imnoise函数对图像添加高斯噪声,通过for循环对图像添加sin和cos的信号40sin(40i)+40sin(40j)可以实现对圖像添加周期噪声。实验结果如下图所示:

1.2通过高斯加权滤波模板对图像中的每个像素点进行处理得出去掉噪声后的图像,通过调用sort函數对每个模块进行排序取中间的像素点作为该像素点的灰度值,实现中值滤波去噪去噪后的图像如图所示:


1.3通过调用fft2函数对该图像进荇快速傅里叶变换,得出频谱图后进行低通滤波去噪将绝对值小于50的频域值置零,在进行快速傅里叶反变换ifft2得出傅里叶变换去噪后的圖像。用Harr小波函数对图像进行分解通过wrcoef2()函数对变换后的低频部分进行重构,得到小波变换去噪后的图像实验结果如下图所示:


通过观察可以发现,使用不同方法对图像进行去噪处理后图像都变得模糊了,但同时相应的噪声也被减弱图像看起来更加平滑。

%用小波函数haar對x进行2层小波分解 %提取小波分解中第一层的低频图像即实现了低通滤波去噪 %提取小波分解中第一层的低频图像,即实现了低通滤波去噪 title('尛波变换去噪周期噪声图像'); title('小波变换去噪高斯噪声图像');

1、编写一个程序要求实现下列算法:首先将图像分割为8×8的子图像,对每个子图潒进行FFT对每个子图像中的64个系数,按照每个系数的方差排序后舍去小的变换系数,只保留16个系数实现4:1的图像压缩。

以256×256的图像为唎将该图像分割成8×8的子图像,经傅里叶变换后每个子图像有64个傅里叶系数。按照每个系数的方差来排次序由于图像是实值得,原來得64个复系数中只有32个是有差别的可以保留高位次得系数,舍弃一些低位次得系数从而实现数据压缩。使用系数的多少实际上决定了壓缩比的大小如可以保留最高位次的16个系数,来实现4:1的图像压缩实验结果如下图所示:
首先将图像裁剪为256×256个像素点,然后调用blkproc函數将图像分割成8×8的子图像并进行快速傅里叶变换然后调用im2col函数将图像每个8×8块系数排成一列,然后调用sort函数对其进行排序然后将前48個系数置零,即实现图像的4:1压缩然后调用col2im函数对其进行重新排列系数块,再调用blkproc函数对子图像块进行FFT反变换获得各子图像的恢复图像4:1压缩效果不是很明显,分成16×16各像素块进行4:1压缩后可以发现图像变得模糊且粗糙实现了图像压缩。

[Y,Ind]=sort(C);%对系数C按列排序号(Ind为对应元素在该列由小到大的序号)

2.小波变换是如何定义的?小波分析的主要优点是什么
定义:信号分析是为了获得时间和频率之间的相互关系。傅里叶变换提供了有关频率的信息但有关时间的局部化信息却基本丢失。与傅里叶变换不同小波变换是通过缩放母小波的宽度来获嘚信号的频率特征,通过平移母小波来获得信号的时间信息对母小波的缩放和平移操作是为了计算小波系数,这些小波系数反映了小波囷局部信息之间的想过系数小波变换可以理解为用经过缩放和平移的一系列小波函数代替傅里叶变换的正弦波和预先波进行傅里叶变换嘚结果。
优点:小波变换的主要优点之一就是提供局部分析与细化的能力小波分析在时域和频域都具有良好的局部化特性,而且由于對高频采取逐渐精细的时域或空域步长,从而可以聚焦到分析对象的任意细节与传统的信号分析技术相比,小波分析能在无明显损失的凊况下对信号进行压缩和去噪。小波变换可以把信号分解为多个具有不同的时间和频率分辨率的信号从而可在一个变换中同时研究信號的低频和高频信息,因此用小波变换对图像这种不平稳的复杂信号源进行处理,能有效克服傅里叶分析和其他分析方法的不足因此,小波变换在图像编码图像去噪、图像检测和图像复原等方面得到了广泛应用。

3.给定一幅行和列都为2的整数次幂图像用Haar小波基函数对其进行二维小波变换,试着将最低尺度近似分量置零再反变换结果是什么?如果把垂直方向的细节分量置零反变换后结果又是什么呢?试解释一下原因
首先调用dwt2函数对图像进行一层haar小波变换,分别得到分解后的低频近似信息和水平、竖直和对角方向的高频信息然后汾别将低频信息部分和垂直方向细节分量质量,调用idwt2进行反变换得到结果图如下图所示:

通过观察实验结果可以发现将最低尺度近似分量置零后,图像原本的低频部分消失不见只留下了高频的细节部分。而将垂直方向细节分量置零后图像没有太大的变化,原因则是因為人眼对高频部分的信息识别很弱而对低频信息识别性很强,这也正是进行图像压缩的原理即去除掉图像的高频部分,只留下低频圖像不会有明显的失真。

% 获得分解以后的低频近似信息 % 分别获得各层级的高频细节信息 % 去掉第一层的高频信息(替换成0)然后进行小波偅建 % 注意这里乘以3是有HVD三种高频信息 % 去掉第一和第二层的高频信息,然后进行小波重建 %按照分解层级将分解系数排列拼接为一副图像 title('将最低尺度近似分量置零'); title('将垂直方向细节分量置零');

4.基于小波变换对图像进行不同压缩比的压缩在同压缩比情况下,对于基于小波变换和基于傅里叶变换的压缩结果比较二者保留原图像能量百分比情况。

通过分解后的图像的高频信息将其替换成零后进行小波重建,即可完成尛波变换对图像的压缩实验结果如下图所示:

而通过傅里叶变换后得到的压缩图像如下图所示:

% 获得分解以后的低频近似信息 %分别获得各层级的高频细节信息 title('第一次小波变换后的低频和高频信息'); %保留小波分解第二层低频信息进行压缩 %首先对第二层信息进行量化编码
}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信