[討論] 顯示的圖片和另存的圖片不一樣

看板MATLAB作者 (阿鼎)時間9年前 (2016/07/11 12:39), 9年前編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/1
我的程式碼如下 clear all;clc;close all; imgPath = 'lena.bmp'; img = imread(imgPath); wavelength = 4; orientation = 90; img2 = imgaborfilt(img,wavelength,orientation); figure; subplot(121) imshow(img); subplot(122); imshow(img2,[]); imwrite(img2,'c:\matlab\lena.bmp'); 這程式是把一張圖片經gabor處理後再存檔的程式 但我顯示出來的圖片正確,但存檔後的圖片就變得不一樣了 請問鄉民高手,我的程式哪裡寫錯? 顯示的圖片如下: http://i.imgur.com/2CqAyQk.jpg
存檔後的圖片如下: http://i.imgur.com/Kk0fereg.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 124.9.198.190 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1468211947.A.432.html ※ 編輯: sads333 (124.9.198.190), 07/11/2016 12:39:53

07/11 13:44, , 1F
你的img2是double,轉成unsigned int就沒事了.
07/11 13:44, 1F

07/11 19:38, , 2F
我剛把圖片型態轉成uint8,還是一樣有問題。
07/11 19:38, 2F

07/11 21:43, , 3F
把img2重新normalize從0到255 再存檔
07/11 21:43, 3F
文章代碼(AID): #1NWoBhGo (MATLAB)
文章代碼(AID): #1NWoBhGo (MATLAB)