Move the sources to trunk
[opencv] / apps / Hawk / demos / ds_laplace.c
1 char wname[] = "Processed frame";\r
2 char barname1[] = "Red";\r
3 char barname2[] = "Green";\r
4 char barname3[] = "Blue";\r
5 int slider_pos[3] = {16, 16, 16};\r
6 IPLIMAGE im = 0;\r
7 IPLIMAGE temp = 0, temp16 = 0;\r
8 \r
9 void threshold(IPLIMAGE in, IPLIMAGE out, int* thresh)\r
10 {\r
11     IplROI roi = {0, 0, 0, 0, 0};\r
12     int i;\r
13     \r
14     roi.width = in->width;\r
15     roi.height = in->height;\r
16     in->roi = &roi;\r
17     out->roi = &roi;\r
18     \r
19     if(!temp)\r
20         temp = cvCreateImage(cvSize(in->width, in->height), IPL_DEPTH_8U, 1);\r
21     if(!temp16)\r
22         temp16 = cvCreateImage(cvSize(in->width, in->height), IPL_DEPTH_16S, 1);\r
23     temp->origin = in->origin;\r
24     temp16->origin = in->origin;\r
25    \r
26     for(i = 0; i < 3; i++)\r
27     {\r
28         roi.coi = i + 1;\r
29         //cvThreshold(in, out, (char)(thresh[i]*8), 255, CV_THRESH_BINARY);\r
30         cvCopy(in, temp,0);\r
31         cvLaplace(temp, temp16, 5);\r
32         cvConvertScale(temp16, temp,1,0);\r
33         cvCopy(temp, out,0);\r
34     }\r
35     \r
36     in->roi = 0;\r
37     out->roi = 0;\r
38 }\r
39 \r
40 void process(IPLIMAGE image)\r
41 {\r
42     if(!im)\r
43         im = cvCloneImage(image);\r
44     else\r
45         cvCopy(image, im,0);\r
46         \r
47     \r
48     threshold(im, im, slider_pos);\r
49     show_iplimage(wname, im);\r
50 }\r
51 \r
52 named_window(wname, 0);\r
53 create_trackbar(barname1, wname, &slider_pos[0], 31, 0);\r
54 create_trackbar(barname2, wname, &slider_pos[1], 31, 0);\r
55 create_trackbar(barname3, wname, &slider_pos[2], 31, 0);\r
56 play_ds(process);\r