2016-10-12 31 views
1

我需要寫.DCM文件JPG格式,我試過follwing代碼如何寫.DCM文件的.jpg

Y = dicomread('IM-0001-0010.dcm'); 
imshow(Y,[]); 
imwrite(Y,'save_loosless.jpg','Quality',100,'Mode','lossless','BitDepth',12); 
imwrite(Y,'save_lossy.jp2','Quality',100,'Mode','lossy','BitDepth',12); 

但它給下面的錯誤,我想這也link。但是再次出現錯誤。請幫我解決。

???使用錯誤==> writejp2k> process_argument_value在137 'QualityLayers' 必須爲整數1到20中==誤差之間

> writejp2k> set_jp2c_props在75個 道具= process_argument_value(道具,PARAM,varargin {K + 1});

==> writejp2k at 24 props = set_jp2c_props(data,fmt,varargin {:});

錯誤在==> writejp2在31 writejp2k(data,map,filename,'jp2', varargin {:}); (fmt_s.write,data,map,filename,paramPairs {:});}在imcat中的錯誤在{472}。 ('','save_lossy.jp2','質量',100,'模式','有損','BitDepth',12);以及其他錯誤。

我的MATLAB版本是R2011a

回答

3

設置'Quality'只能用於jpeg圖像。保存到jp2時,您需要刪除此選項。 您還需要刪除'BitDepth'設置: imwrite(Y,'save_lossy.jp2','Mode','lossy');

+0

Okey。非常感謝你,它工作得很好。我怎樣才能做到.jpeg圖像? – temp

+0

我無法查看.jpeg圖像,請幫助我將.dcm文件編寫爲.jpeg圖像 – temp

+0

您的第一條命令是「imwrite(Y,'save_loosless.jpg','Quality',100'Mode','lossless', 'BitDepth',12);'應該將你的dicom圖像作爲jpeg寫入save_loosless.jpg。 –