Convert Arr to Mat
short* psImage;
Mat psImage_mat(nWidth, nHeight, CV_16SC1, psImage);
Convert Mat to Arr
short* psImage_arr = (short*)psImage_mat.data;
Convert 16bit(short) to 8bit(unsigned char)
normalization
Mat img(row, col, CV_16SC1); // 16bit(short)
Mat img_8UC1 = img.clone();
// get min, max
double minVal;
double maxVal;
Point minLoc;
Point maxLoc;
minMaxLoc(img, &minVal, &maxVal, &minLoc, &maxLoc);
// normalization
img_8UC1 -= minVal;
img_8UC1.convertTo(img_8UC1, CV_8U, 255.0 / (maxVal - minVal)); // 8bit(uchar)
CV_type
Mat의 요소가 어떤 타입의 데이터인지 지정
CV_8UC1
: 8bit unsigned char (0~255) => imshow 가능CV_8SC1
: 8bit signed char (-128~127) => imshow 가능CV_16UC1
: 16bit unsigned short (0~65535)CV_16SC1
: 16bit signed short (-32768~32767)CV_32SC1
: 32bit signed int (-2147483648~2147483647)
normalize (0~1로 정규화)
cv::normalize(src, dst, 0, 1, NORM_MINMAX, CV_8UC1);
'[ 언어 및 문법 ] > C, C++' 카테고리의 다른 글
[C++] NAN, isnan() (0) | 2022.08.14 |
---|---|
[C++] 가비지(Garbage) & 가비지 컬렉션(Garbage Collection) / 포인터 & 메모리 동적할당 (0) | 2022.08.14 |
[C++] 2차원 배열 동적 할당, 해제, 초기화 (0) | 2022.08.14 |
[C++] 전방 선언 (Forward Declaration) (0) | 2022.08.14 |
[C++] 정적 변수(Static) vs 전역 변수(Global) , const (0) | 2022.08.14 |