实验三 基于DCT编码的JPEG压缩

一. 实验目的与要求
1. 进一步熟悉DCT的概念和原理;
2. 利用DCT变换编码方法进行图像压缩,提高信息传输的有效性及通信质量。
3. 掌握对灰度和彩色图像作离散余弦变换和反变换的方法;
4. 能选择适当的量化间隔、阈值和区域进行编码;
二、实验环境
Windows+matlab
三、实验原理
变换编码是通过变换来解除或减弱信源符号间的相关性,再将变换后的样值进行量化,或采用对于独立信源符号的编码方法,以达到压缩码率的目的。离散余弦变换(DCT for Discrete Cosine Transform)是与傅里叶变换相关的一种变换,它类似于离散傅里叶变换(DFT for Discrete Fourier Transform),但是只使用实数基于DCT(离散余弦变换)压缩编码算法是有失真的压缩编码,如图1-1为DCT变换编码原理图。
这里写图片描述
在编码过程中,首先将输入图像分解为8×8大小的数据块,然后用正向二维DCT把每个块转变成64个DCT系数值,其中左上角第一个数值是直流(DC)系数,即8×8空域图像子块的平均值,其余的63个是交流(AC)系数,接下来对DCT系数进行量化,最后将变换得到的量化的DCT系数进行编码和传送,这样就完成了图像的压缩过程。
四、实验内容和步骤
1. 随机选取一整幅图像进行DCT变换,编写程序显示灰度图像、反余弦变换恢复图、DCT变换图、余弦变换系数图、变换谱三维彩色图。该方法出发点是对整幅图像进行DCT变换,主要应用MATLAB的图像处理工具箱中的基于FFT的有大量输入的快速算法进行处理的dct2函数。

clc
clear
A=imread('D:\x.jpg');
I=rgb2gray(A);
DCT=dct2(I);         %余弦变化
DCT(abs(DCT)<10
  • 7
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值