[繪圖] 反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