+++ /dev/null
-char wname[] = "Processed frame";\r
-char barname1[] = "Red";\r
-char barname2[] = "Green";\r
-char barname3[] = "Blue";\r
-int slider_pos[3] = {16, 16, 16};\r
-IPLIMAGE im = 0;\r
-IPLIMAGE temp = 0, temp16 = 0;\r
-\r
-void threshold(IPLIMAGE in, IPLIMAGE out, int* thresh)\r
-{\r
- IplROI roi = {0, 0, 0, 0, 0};\r
- int i;\r
- \r
- roi.width = in->width;\r
- roi.height = in->height;\r
- in->roi = &roi;\r
- out->roi = &roi;\r
- \r
- if(!temp)\r
- temp = cvCreateImage(cvSize(in->width, in->height), IPL_DEPTH_8U, 1);\r
- if(!temp16)\r
- temp16 = cvCreateImage(cvSize(in->width, in->height), IPL_DEPTH_16S, 1);\r
- temp->origin = in->origin;\r
- temp16->origin = in->origin;\r
- \r
- for(i = 0; i < 3; i++)\r
- {\r
- roi.coi = i + 1;\r
- //cvThreshold(in, out, (char)(thresh[i]*8), 255, CV_THRESH_BINARY);\r
- cvCopy(in, temp,0);\r
- cvLaplace(temp, temp16, 5);\r
- cvConvertScale(temp16, temp,1,0);\r
- cvCopy(temp, out,0);\r
- }\r
- \r
- in->roi = 0;\r
- out->roi = 0;\r
-}\r
-\r
-void process(IPLIMAGE image)\r
-{\r
- if(!im)\r
- im = cvCloneImage(image);\r
- else\r
- cvCopy(image, im,0);\r
- \r
- \r
- threshold(im, im, slider_pos);\r
- show_iplimage(wname, im);\r
-}\r
-\r
-named_window(wname, 0);\r
-create_trackbar(barname1, wname, &slider_pos[0], 31, 0);\r
-create_trackbar(barname2, wname, &slider_pos[1], 31, 0);\r
-create_trackbar(barname3, wname, &slider_pos[2], 31, 0);\r
-play_ds(process);\r