图象DCT变换的MATLAB实现_精品文档Word文档格式.doc

上传人:b****2 文档编号:14119178 上传时间:2022-10-18 格式:DOC 页数:2 大小:26KB
下载 相关 举报
图象DCT变换的MATLAB实现_精品文档Word文档格式.doc_第1页
第1页 / 共2页
图象DCT变换的MATLAB实现_精品文档Word文档格式.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

图象DCT变换的MATLAB实现_精品文档Word文档格式.doc

《图象DCT变换的MATLAB实现_精品文档Word文档格式.doc》由会员分享,可在线阅读,更多相关《图象DCT变换的MATLAB实现_精品文档Word文档格式.doc(2页珍藏版)》请在冰豆网上搜索。

图象DCT变换的MATLAB实现_精品文档Word文档格式.doc

end

[Data,map]=imread(fname);

%读取图像数据

%new=rgb2gray(Data);

%imwrite(new,'

new.bmp'

bmp'

%Data=im2bw(Data,map,0.6);

%im2bw转为二进制阈值0.6

%Data=+Data;

%逻辑格式转为浮点格式

Data=rgb2gray(Data);

subplot(1,2,1);

%准备显示两幅图像

imshow(Data);

functionDCTcode;

globalData;

%全局变量,用于共享图像数据

[m,n]=size(Data);

fid=fopen('

dct.bin'

w+'

%创建dct.bin用存储DCT和BTC混合编码后的二进制文件。

%补0使尺寸为4的整数倍以便分块

m1=4*ceil(m/4);

n1=4*ceil(n/4);

Datatemp=zeros(m1,n1);

Datatemp(1:

m,1:

n)=Data;

%

fwrite(fid,m1,'

long'

fwrite(fid,n1,'

%在文件中记录图像大小

block=zeros(4,4);

%4X4大小的子带 

forj=1:

4:

n

fori=1:

m

fort=0:

1:

forp=0:

3

block(1+t,1+p)=Datatemp(i+t,j+p);

%取出4X4数据块

end

end 

%对变换后数据进编码后存储或发送,只取其中的2X2数据 

DctBlock=dct2(block);

%存储(发送)编码文件

fwrite(fid,DctBlock(1,1),'

bit12'

%直流分量,用12bit量化

fwrite(fid,DctBlock(1,2),'

bit9'

%用9bit量化非直流分量

fwrite(fid,DctBlock(2,1),'

fwrite(fid,DctBlock(2,2),'

fclose(fid);

functionIDctcode;

r'

m=fread(fid,1,'

n=fread(fid,1,'

data=zeros(m,n);

%用于存放图像数据

temp=zeros(4,4);

%读取方块数据

block(1,1)=fread(fid,1,'

block(1,2)=fread(fid,1,'

block(2,1)=fread(fid,1,'

block(2,2)=fread(fid,1,'

temp=idct2(block);

Data(i+t,j+p)=temp(1+t,1+p);

data=uint8(Data);

subplot(1,2,2);

imshow(data);

%显示图像

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 视频讲堂

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1