急需帮忙的Matlab 程序,请高手帮忙解释一下,最好每一句都有解释 25

%程序功能:模拟DCT编码解码过程,生成带“块效应”的图像%实验图片:lena.jpg(512*512)%步骤:灰度图像→DCT→量化→反量化→IDCT%下一步目标:实现... %程序功能:模拟DCT编码解码过程,生成带“块效应”的图像
%实验图片:lena.jpg(512*512)
%步骤:灰度图像→DCT→量化→反量化→IDCT
%下一步目标:实现对任意大小图象的处理。(判断图象大小,若不是2的整数次方,则补零)
close all;clear;clc;
I1=imread('1.bmp');%读取图像
figure(1);imshow(I1);title('原始图像');
%I1=rgb2gray(I);figure(1);imshow(I1);title('原始图像');%变成灰度图像,并显示
I=im2double(I1);%变换前的原始数据(分别跟I3,B做比较,看有何差别)---I3跟I跟接近,B仿佛放大了
%imwrite(I,'原始图像2.JPG');
%I2=zeros(64);I3=I2;%申请2个64×64的矩阵,I2存放DCT后的数据,I3存放IDCT后的数据
C= dctmtx(8);%生成标准DCT变化中的矩阵(8×8)。
...DCT变换公式: 正变换:Y=CPC';逆变换:P=C'YC;
%光亮度量化表
a1=[16 11 10 16 24 40 51 61;
12 12 14 19 26 58 60 55;
14 13 16 24 40 57 69 56;
14 17 22 29 51 87 80 62;
18 22 37 56 68 109 103 77;
24 35 55 64 81 104 113 92;
49 64 78 87 103 121 120 101;
72 92 95 98 112 100 103 99 ];

%分块做DCT变换(8×8)
for i=1:8:505
for j=1:8:505
P=I(i:i+7,j:j+7);
K=C*P*C';
I2(i:i+7,j:j+7)=K;
K=K./a1;%量化
K(abs(K)<0.03)=0;
I3(i:i+7,j:j+7)=K;
end
end
figure;imshow(I2);title('DCT变换后的频域图像');%显示DCT变换后的频域图像

%分块做DCT反变换(8×8)
for i=1:8:505
for j=1:8:505
P=I3(i:i+7,j:j+7).*a1;%反量化
K=C'*P*C;
I4(i:i+7,j:j+7)=K;
end
end
%I4=uint8(I4);
figure;imshow(I4);title('复原图像');
imwrite(I4,'复原图像6.jpg');
%sigma(I4);figure;imshow(I4);
什么提问关闭啊? 不懂啊?
分不够得话还可以加嘛!
展开
 我来答
okhz
2009-04-22 · TA获得超过1994个赞
知道小有建树答主
回答量:897
采纳率:0%
帮助的人:962万
展开全部
先把以前让解释的提问关闭了再说!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shl329
2009-04-22 · TA获得超过650个赞
知道小有建树答主
回答量:167
采纳率:0%
帮助的人:181万
展开全部
你这么一大堆就给5分啊!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式