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?
Code: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; }




Reply With Quote
