[繪圖] 反DCT無法正確顯示

看板MATLAB作者 (北極)時間7年前 (2017/04/29 23:11), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
小弟是初學者 遇到問題上網爬文許久沒有找到解決方法 所以才來發文 首先這是程式碼 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
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.170.147.113 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1493478663.A.B49.html
文章代碼(AID): #1P1Aq7j9 (MATLAB)
文章代碼(AID): #1P1Aq7j9 (MATLAB)