영상처리

OpenCV cv::saturate_cast

park__ 2024. 12. 9. 15:40

cv::saturate_cast는 OpenCV에서 제공하는 함수 템플릿으로, 특정 데이터 타입으로 안전하게 값을 변환할 때 사용됩니다. OpenCV에서 이미지를 처리할 때 픽셀 값은 종종 특정 범위를 가지는 데이터 타입으로 제한됩니다(예: 8비트 정수형의 경우 0~255). saturate_cast는 변환 과정에서 값이 이 범위를 초과하지 않도록 "클리핑" 처리를 수행합니다.

uchar value = cv::saturate_cast<uchar>(300); // 결과: 255
uchar value = cv::saturate_cast<uchar>(-20); // 결과: 0
int value = cv::saturate_cast<int>(3.8); // 결과: 3
uchar pixel_value = 240;
int adjustment = 50;

uchar new_pixel_value = cv::saturate_cast<uchar>(pixel_value + adjustment); // 결과: 255

 

Opencv 파일 경로 : https://github.com/opencv/opencv_attic/blob/master/opencv/modules/gpu/src/opencv2/gpu/device/saturate_cast.hpp