[OpenCV][C++] 영상에서 히스토그램 (histogram) 구하기 - cv::calcHist graph draw


[OpenCV][C++] 영상에서 히스토그램 (histogram) 구하기 - cv::calcHist graph draw

이번에는 영상 분석에서 가장 중요한 히스토그램에 대해 알아보도록 하겠습니다. 통계학에서 히스토그램은 데이터의 빈도수(frequency)를 막대그래프로 표시한 것으로 데이터의 확률밀도 함수(probability density function)를 추정할 수 있는 지표가 됩니다. 영상에서 히스토그램은 영상 화소의 분포에 대한 중요한 정보입니다. 예를 들어 아래와 같은 3x3 영상이 있다고 하면, 0의 밝기가 3개, 1의 밝기가 4개, 2의 밝기가 2개가 있습니다. 그럼 아래와 같은 히스토그램을 그릴 수 있습니다. C/C++로 직접 histogram을 계산하는 소스는 아래와 같이 구현할 수 있습니다. cv::Mat src = cv::imread("lena.bmp"); int hist[256] = {0, }; for(int j = 0; j < src.rows; ++j) { for(int i = 0; i < src.cols; ++i) { hist[src.at<uchar>(j, i)++; } }...


#accumulate #opencv #ranges #rectangle #uniform #vconcat #그래프 #빈도 #영상배열 #최대값 #컬러 #확률밀도함수 #minVal #minMaxLoc #maxVal #calcHist #channels #CV_8UC1 #CV_8UC3 #dims #gray #hist #histogram #histsize #line #mask #히스토그램

원문링크 : [OpenCV][C++] 영상에서 히스토그램 (histogram) 구하기 - cv::calcHist graph draw