Move the sources to trunk
[opencv] / interfaces / ch / demos / demhist.ch
1 /******************************************************************   
2 * This program uses function histogram() in Ch Professional Edition
3 *******************************************************************/
4 #include <cv.h>
5 #include <highgui.h>
6 #include <stdio.h>
7 #include <numeric.h>
8
9 int main(int argc, char** argv) {
10     char filename[] = "baboon.jpg";
11     char windowname[] = "Gray image";
12     IplImage *image1 = NULL, *image2 = NULL;
13
14     // Load the source image. 
15     image1 = cvLoadImage(argc == 2 ? argv[1] : filename, 1);
16     if(!image1) {
17         printf("Image was not loaded.\n");
18         return -1;
19     }
20     image2 = cvCreateImage(cvSize(image1->width,image1->height), 
21               IPL_DEPTH_8U, 1);
22     cvCvtColor(image1,image2, CV_BGR2GRAY);
23     cvNamedWindow(windowname, 0);
24     cvShowImage(windowname, image2);
25
26     unsigned char x[128], y[image2->imageSize]; 
27     linspace(x, 0, 255);
28     memcpy(y, image2->imageData, image2->imageSize); 
29     histogram(y, x);
30
31     cvWaitKey(0);
32     cvReleaseImage(&image1);
33     cvReleaseImage(&image2);
34     cvDestroyWindow(windowname);
35     return 0;
36 }