I have following code to create histogram, but it gave wrong output. In the program input_vector read 100 double numbers. I want to create a histogram with bin size=5. Output is [0;0;0;0;0]. Can anybody help me to figure out the problem?
vector<double>three_dimensional_shape_retreival_Hough_Transform:: histogram_creation(vector<double> input_vector)
{
long int i;
long int j;
Mat histogram_input(input_vector);
cout<<"Histogram Input Matrix:"<<histogram_input<<endl;
int histSize =5;
float max_distance= *max_element(input_vector.begin(), input_vector.end());
float min_distance= *min_element(input_vector.begin(), input_vector.end());
cout<<"Max Element:"<<max_distance<<" "<<"Min Element:"<<min_distance<<endl;
float range[] = { min_distance,max_distance};
const float* histRange = { range };
bool uniform = true;
bool accumulate = false;
Mat histogram_output;
calcHist(&histogram_input,1,0, Mat(), histogram_output,1,&histSize,&histRange,uniform,accumulate);
cout<<"Histogram Output Matrix:"<<histogram_output<<endl;
}