2017-04-20 38 views
0

我想在計算凸輪位移之前計算圖像的一部分直方圖。我跟了一個例子 - 但是bviously不夠緊密,因爲我得到一個錯誤說沒有匹配的函數調用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

我有一些問題,這是好。但是,這個版本的代碼適合我。

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);