How can I create histogram from a set of values in OpenCV?

I have a text file which consist of several values. These values represent distance from origin to any point in the triangle. How can I create histogram from these values? Is there any functions in OpenCV which can create histogram from these values? Below my sample values are given:

..........................

3.4 1.2 6.9 0.2 5.1 2.9

........................
I tried in this way , but output is not acceptable.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main(.......)
        {
        ......................
        double histogram_sample[1][6]={1.0,2.0,3.0,4.0,1.0,2.0};

	Mat histogram(1,6,CV_64F,(void*)histogram_sample);

	
	int histSize = 4;
	float range[] = { 1.0, 4.0 } ;
	const float* histRange = { range };

	bool uniform = true; bool accumulate = false;

	Mat hist;

	calcHist( &histogram, 1, 0, Mat(), hist, 1, &histSize, &histRange, uniform, accumulate );

	cout<<"hist:"<<hist<<endl;
        ...........................
        }


Output: hist:[0;0;0;0]
Here is the complete solution:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main(.......)
        {
        ......................
        float histogram_sample[1][6]={1.0,2.0,3.0,4.0,1.0,2.0};

	Mat histogram(1,6,CV_32F,(void*)histogram_sample);

	
	int histSize = 4;
	float range[] = { 1.0, 5.0 } ;
	const float* histRange = { range };

	bool uniform = true; bool accumulate = false;

	Mat hist;

	calcHist( &histogram, 1, 0, Mat(), hist, 1, &histSize, &histRange, uniform, accumulate );

	cout<<"hist:"<<hist<<endl;
        ...........................
        }

Output: hist:[2;2;1;1]
Topic archived. No new replies allowed.