2017-04-20 5 views
0

캠 시프트를 계산하기 전에 이미지의 일부에 대한 막대 그래프를 계산하려고합니다. 내가 보내고 매개 변수와 CalcHist에 대한 일치 함수 호출이없는 말하는 오류가로OpenCV cv :: CalcHist - 일치하는 함수가 없습니다.

float max_val = 0.f; 
Mat hsv; 
int hbins = 30, sbins = 32; 
int histSize[] = {hbins, sbins}; 
float hranges[] = { 0, 180 }; 
float sranges[] = { 0, 256 }; 
const float* ranges[] = { hranges, sranges }; 
int channels[] = {0, 1}; 
cv::cvtColor(image(_cars[i]), hsv, CV_BGR2HSV); 

cv::calcHist(&hsv, 1, channels, Mat(), // do not use mask 
       thisCar.hist, 2, histSize, ranges, true, false); 
+0

무엇이'thisCar.hist'입니까? 'OutputArray' 유형입니까? –

+0

thisCar.hist는 CvHistogram입니다. * – HillInHarwich

답변

0

나는이 같은 몇 가지 문제가 있었다 ... bviously하지 밀접 충분하지만 - 나는 예를 따랐다 잘. 그러나이 버전의 코드는 저에게 효과적이었습니다.

float max_val = 0.f; 
cv::Mat img; 
cv::Mat hsv; 
cv::MatND hist; 
int hbins = 30, sbins = 32; 
int histSize[] = {hbins, sbins}; 
float hranges[] = { 0, 180 }; 
float sranges[] = { 0, 256 }; 
const float* ranges[] = { hranges, sranges }; 
int channels[] = {0, 1}; 
cv::cvtColor(img, hsv, CV_BGR2HSV); 
cv::calcHist(&hsv, 1, channels, cv::Mat(), hist, 2, histSize, ranges, true, false); 
관련 문제