⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jpeg_wht.m

📁 klt经典程序
💻 M
字号:
function jpeg_wht(I,z)
% I=imread('football.jpg');%读入原始图像,该图片在安装matlab的目录中找,原图为jpeg图象
Y=im2double(I);%图像存储类型转换
R=Y(:,:,1);%提取jpeg图像的三层,每层代表一种原色
G=Y(:,:,2);
B=Y(:,:,3);
T=hadamard(8);%WHT变换矩阵
Y2_R=blkproc(R,[8 8],'P1*x*P2/64',T,T');%对原图像每一层分别进行WHT变换
Y2_G=blkproc(G,[8 8],'P1*x*P2/64',T,T');
Y2_B=blkproc(B,[8 8],'P1*x*P2/64',T,T');
z=fix(z);
t(1:z)=1;
t(z+1:64)=0; 
mask=jpeg_Dzz8(t);
Y3_R=blkproc(Y2_R,[8 8],'P1.*x',mask);%数据压缩,丢弃右下角高频数据
Y3_G=blkproc(Y2_G,[8 8],'P1.*x',mask);
Y3_B=blkproc(Y2_B,[8 8],'P1.*x',mask);
I2(:,:,1)=blkproc(Y3_R,[8 8],'P1*x*P2',T',T);%进行WHT反变换,得到压缩后的图像
I2(:,:,2)=blkproc(Y3_G,[8 8],'P1*x*P2',T',T);
I2(:,:,3)=blkproc(Y3_B,[8 8],'P1*x*P2',T',T);
figure;
set(gcf,'unit','normalized','position',[0.6,0.5,0.3,0.3]);%设置图形窗大小
set(gcf,'menubar','none');								%删除图形窗工具条
str='量化矩阵中1的个数为';
set(gcf,'name',[str sprintf('%1.4g\',z)],'numbertitle','off');		%书写图形窗名
imshow(I2)  %显示压缩后的图像
title('WHT变换压缩后的图像')
imwrite(I2,'wht.jpg');%输出压缩后的图像,文件名为1.jpg

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -