머신 비전 알고리즘 - OpenCV - 이미지처리6
# 디지털 이미지 처리
# 이미지의 상태 정보를 특별한 형태로 재표현/추출/비교 가능하다.
> 역투영, 히스토그램등으로 색상 재표현/추출/비교에 대한 처리
# 이미지 처리 - OpenCV 4.5.3 으로 테스트
# 이미지의 상태 정보를 특별한 형태로 재표현/추출/비교
> srcImage : 입력, dstImage : 결과, channel : 채널 정보, histSize : 빈도수, ranges : 범위
# cv::calcHist
> 이미지의 상태 정보를 특별한 형태로 재표현
> int nimages = 1, dims = 1;
> int channels[1] = { 0, }, histSize[1] = { 0, };
> const float* ranges[1] = { nullptr, };
> cv::Mat mask = cv::Mat(), dst_hist = cv::Mat();
> bool uniform = true, accumulate = false;
> cv::calcHist(&srcImage, nimages, channels, mask, dst_hist, dims, histSize, ranges, uniform, accumulate);
# cv::calBackProject
> 이미지의 상태 정보를 특별한 형태로 추출
> cv::normalize(dst_hist, dst_hist, 1.0);
> int scale = 255.0;
> cv::calcBackProject(&srcImage, nimages, channels, dst_hist, dstImage, ranges, scale);
# cv::equalizeHist
> 이미지의 상태 정보를 특별한 형태로 재표현
> cv::equalizeHist(srcImage, dstImage);
# cv::compareHist
> 이미지의 상태 정보를 특별한 형태로 비교
> int method = cv::HISTCMP_CORREL;
> cv::compareHist(srcImage, srcImage, cv::HISTCMP_CORREL);
# cv::CLAHE
> 이미지의 상태 정보를 특별한 형태로 재표현
> double clipLimit = 40.0;
> cv::Size tileGridSize = cv::Size(8, 8);
> cv::Ptr<cv::CLAHE> clahe = cv::createCLAHE(clipLimit, tileGridSize);
> clahe->apply(srcImage, dstImage);