基于dct变换的图像编解码matlab代码

基于dct变换的图像编解码matlab代码

ID:27839376

大小:36.00 KB

页数:11页

时间:2018-12-06

基于dct变换的图像编解码matlab代码_第1页
基于dct变换的图像编解码matlab代码_第2页
基于dct变换的图像编解码matlab代码_第3页
基于dct变换的图像编解码matlab代码_第4页
基于dct变换的图像编解码matlab代码_第5页
资源描述:

《基于dct变换的图像编解码matlab代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.////////////////////////////////////////////////////////////////////////////////////////////////////////基于块的变换编码//读入灰度图像数据,完成8*8像素块余弦变换并进行DCT系数矩阵量化,把得到的量化矩阵游程编码/////////////////////////////////////////////////////////////////////////////////////////////////////

2、/#include#include#include#include#include#include#definePI3.1415926#defineWIDTH256#defineHEIGHT256usingnamespacestd;doublearr[WIDTH][HEIGHT]={0};//自定义数组保存文件二进制数据doubledct2[8][8]={100};//自定义数组保存待变换8*8像素块二进制数据

3、-..intx(14),y(22);//任意设定开始选定数据坐标voidDCT(int,int,doubledct2[8][8]);//余弦变换算法函实现数doubleCuCv(int);//中间函数C(u),C(v)voidQuant(doubledct2[8][8]);//均匀量化函数voidRun_level(doubledct2[8][8]);//游程编码函数//***************************************************************************

4、****************************voidmain(){charch;intdata[8][8]={0};FILE*fp=NULL;//创建文件指针并初始化//----------------------------------------------------------以二进制只读形式打开待处理IMG文件fp=fopen("LENA256.IMG","rb");if(fp==NULL)//如果失败了{printf("Buffererror!Programterminated!!");

5、}ofstreamoutfile("源文件二进制数据.txt");//建立文件-..charbuf[24];intcount=0;//----------------------------------------------------------将读入文件的数据保存在自定义数组中for(inti(0);i

6、始坐标:"<

7、or(inti=0;i<8;i++)//变换结果输出到文本文件中{for(intj=0;j<8;j++){cout<

8、tn,doubledct2[8][8])//余弦变换算法实现函数{for(intu(0);u<8;u++){for(intv(0);v<8;v++){doublesum=0;for(inti(0);i<8;i++){for(intj(0);j<8;j++){sum=sum+(arr[m+i][n+j]*cos((2*i+1)*u*

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。