2017-03-01 8 views
0

DICOM画像を読み、幅と高さなどの特徴を抽出しました。 今、画像の総ピクセル数を変数に保存します。 これはコードです:整数の乗算による不正確な結果

info = dicominfo(filename); 

width = info.Width; 
height = info.Height; 
colorType = info.ColorType; 
format = info.Format; 
size = info.FileSize; 
numberOfPixels = width*height; 
k = info.BitDepth; 

そして、これらは版画です:

Size: 256 x 256 
    Color type: grayscale 
    Format: DICOM 
    Size: 137024 bytes 
    NumberOfPixels: 65535 

numberOfPixels値が間違っています。どうして?

キャストの問題だと思ったので、uint32(width*height)を追加しようとしましたが、何もしませんでした。私は65536の代わりに65535を取得します。 なぜですか?

+3

「幅」と「高さ」の種類は何ですか? 256 * 256はちょうど65536を返します。 'uint32(width)* uint32(height)' – JHBonarius

+0

ありがとう!それは解決するのは簡単な間違いだった、私は少し愚かな感じ、ありがとう! – beth

+2

重要な注意:matlab関数の名前でもある変数には名前を付けないでください。多くの問題が起きることがあります。ここには 'height'、' width'、 'format'、' size'があります。 – Adiel

答えて

1

あなたは、例えば乗算前をキャストする必要がありますありがとうuint32(width)*uint32(height)

関連する問題