[绘图] 反DCT无法正确显示

楼主: david2994 (北极)   2017-04-29 23:11:00
小弟是初学者
遇到问题上网爬文许久没有找到解决方法
所以才来发文
首先这是程式码
clear;
clc;
X=imread('123.bmp');
X80=imread('dct.bmp');
X=double(X);
[a,b]=size(X);
X80=double(X80);
[a1,b1]=size(X80);
subplot(1,3,1);
imshow(uint8(X80));
title('以储存之DCT');
Y1=dct2(X);
imwrite(uint8(Y1),'dct.bmp');
subplot(1,3,2);
imshow(uint8(Y1));
title('DCT转换');
X20=idct2(X80);
subplot(1,3,3);
imshow(uint8(X20));
title('DCT恢复');
我遇到的问题是在程式中将一张图片进行dct2()后显示,再使用idct2()显示图片能够正
常还原。
但是如果将dct2()转换的图片以uint8储存,再将已储存的图片进行idct2(),则图片无法
正常还原。
我先让程式执行一次储存了经DCT转换后的图档。
之后执行第二次比较两者是否相同发现无法还原。
http://i.imgur.com/G8VgXqO.jpg

Links booklink

Contact Us: admin [ a t ] ucptt.com