1

MATLAB (単純な for ループ) で画像 (128x128 Uint8) を合計しようとしていますが、合計は 255 の値までしか上がりません。

これは、私の変数に Uint8 か何かが割り当てられているということですか? もしそうなら、どうすればこれを変更できますか?

乾杯!

4

1 に答える 1

4

はい、おそらくあなたのデータは Uint8 型です。ただし、ループして合計する必要はありませんsum。関数を使用するだけです。データが次の場所にあると仮定しますx

total = sum(double(x(:)))

sumdouble(x)単一の次元で動作するため、直接渡した場合、1x128行列が返されます。ここでは、( を使用して) 1 次元ベクトルに再形成されたすべてのデータを渡し(:)、関数を使用して double に変換されていdoubleます。

変数のタイプは、名前とサイズとともにワークスペース ウィンドウに表示されることに注意してください。

于 2013-03-29T20:20:54.513 に答える