2017-04-14 16 views
1

画像のRGBマトリックスを取得しようとしています。私の画像が1200x1600である場合には、次のコードim2doubleは異なる結果を返します

I=imread('testme.jpg'); 
I=im2double(I); 

は1200x1600x3行列を得て、私はRGBの行列を得ることができますが、画像は、この画像の一部のスクリーンショット、

I=imread('testme_subpic.jpg'); 
I=im2double(I); 

以下のコードであるとき、 167x228の行列が得られ、RGB行列を得ることができません。

多分、私は

I=imread('testme.png'); 
I=im2double(I); 

を書くラインは私に1200x1600行列を与えます。

私の質問は、なぜ私はpngまたはより小さなサイズのjpgで3次元マトリックスを得ることができないのですか?

+0

小さいイメージで 'imread'を実行した後の' I'の次元は? 'testme_subpic.jpg'をどうやって生成しますか? – beaker

答えて

2

画像の保存方法はすべてです。 pngピクセル形式に関する追加情報についてはwikipediaをご覧ください。この問題を回避するには、MATLAB自体を使用して画像を書き込むことができます。ピクセル形式を制御する方法(imwrite

関連する問題