2014-07-07 5 views
1

두 개의 8UC1 이미지 또는 요소 승수에서 행렬 곱셈을 수행하는 경우 결과 픽셀 값 중 하나가 255보다 큰 경우 어떻게됩니까? 예를 들어 이미지 A에서 특정 픽셀의 값이 100이고 이미지 B에서 같은 픽셀에 값이 150 인 경우 (요소 곱셈의 경우) 명확하게 100 * 150> 255 - 픽셀이 255로 잘립니다. 값? 그렇다면 자르지 않고도 정보를 보존 할 수있는 변화가 있습니까?255보다 큰 값을 갖는 행렬 곱셈

+2

코드를 표시하십시오. – OldProgrammer

+0

@OldProgrammer : 어떻게 도움이 될까요? – TonyK

답변

3

opencv는 uchar img에 대한 결과를 포화시킵니다.

이러한 상황을 피하기 위해 dtype 플래그가 multiply이고 입력 한 값보다 큰 유형을 지정하십시오.

Mat a, b; //input, CV_8U 
Mat c; // output, yet unspecified 

multiply(a,b, c, 1, CV_32S); // c will be of int type, untruncated results