2016-04-17 9 views
1

データタイプuint16のイメージをMATLABのファイルに書き込むにはどうすればよいですか?私は、次のコマンドを使用してファイルに書き込みをしようとしますが、writejpgを使用して、それは私にエラーを与えるuint16イメージを作成する

imwrite(pimg, 'h44', 'jpg') 

エラー> set_jpeg_props(ライン183)
UINT16画像データは、具体的 12またはに設定ビット深度が必要です16.
writejpg(行49)のエラー
props = set_jpeg_props(data、varargin {:});
imwrite(行472)のエラー
feval(fmt_s.write、data、map、filename、 paramPairs {:});
image16bit(行666)のエラー
imwrite(imgnew1、 'h44'、 'jpg');

+1

あなたは 'Imwrite'に' BitDepth'オプションを設定する必要があります。 – Amro

答えて

2

あなたは8ビット以上のJPEG画像を保存する際にBitDepthオプションを指定する必要があります。残念ながら

% note that 16-bit only accepts grayscale images 
img = imread('peppers.png'); 
imwrite(im2uint16(img), '12bit.jpg', 'BitDepth',12); 
imwrite(rgb2gray(im2uint16(img)), '16bit.jpg', 'BitDepth',16); 

を、多くのないプログラムは、12ビット/ 16ビットのJPEG画像のサポートを持っているので、あなたそれを外部から開くことができない可能性があります。

関連する問題