2013-03-29 2 views
1

MATLAB (128x128 Uint8)에서 내 이미지를 합치려는 중입니다 (단, 단순한 루프). 그러나 내 합계가 255가됩니다. Afterwords는 계속 유지합니다. 255 이상을 반복해서 표시합니다.MATLAB image summation confusion

내 변수에 Uint8이나 다른 것이 할당되었다는 의미입니까? 그렇다면 어떻게해야합니까?

건배!

답변

4

예, 데이터 유형은 Uint8 일 것입니다. 하지만 합계를 계산할 필요가 없습니다. sum 함수를 사용하면됩니다. 데이터를 가정 x에 : 당신은 그냥 직접 double(x) 통과 그래서 만약

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

sum는, 하나의 차원에서 작동합니다 그것이 1x128 행렬을 반환; 여기서 우리는 double 함수를 사용하여 double로 변환 된 단일 치수 벡터 ((:) 사용)로 재구성 된 모든 데이터를 전달했습니다.

변수의 유형이 작업 영역 창에 이름 및 크기와 함께 표시됩니다.

+0

신난다. 고마워, 어리석은 질문에 유감스럽게 생각합니다! – Shinobii

+1

'sum'은 합계를 수행하기 전에 기본적으로 모든 정수 유형을 이중으로 변환합니다. 따라서 명시 적 변환은 실제로 필요하지 않지만 상처를주지 않으며 전환이 발생해야한다는 것을 알고 있음을 분명히합니다. – BjoernH