#include <iostream>
#include <stdlib.h>
void on_low_r_thresh_trackbar(int, void *);
void on_high_r_thresh_trackbar(int, void *);
void on_low_g_thresh_trackbar(int, void *);
void on_high_g_thresh_trackbar(int, void *);
void on_low_b_thresh_trackbar(int, void *);
void on_high_b_thresh_trackbar(int, void *);
int low_r=30, low_g=30, low_b=30;
int high_r=100, high_g=100, high_b=100;
int main()
{
Mat frame, frame_threshold;
createTrackbar(
"Low R",
"Object Detection", &low_r, 255, on_low_r_thresh_trackbar);
createTrackbar(
"High R",
"Object Detection", &high_r, 255, on_high_r_thresh_trackbar);
createTrackbar(
"Low G",
"Object Detection", &low_g, 255, on_low_g_thresh_trackbar);
createTrackbar(
"High G",
"Object Detection", &high_g, 255, on_high_g_thresh_trackbar);
createTrackbar(
"Low B",
"Object Detection", &low_b, 255, on_low_b_thresh_trackbar);
createTrackbar(
"High B",
"Object Detection", &high_b, 255, on_high_b_thresh_trackbar);
cap>>frame;
if(frame.empty())
break;
imshow(
"Video Capture",frame);
imshow(
"Object Detection",frame_threshold);
}
return 0;
}
void on_low_r_thresh_trackbar(int, void *)
{
low_r =
min(high_r-1, low_r);
}
void on_high_r_thresh_trackbar(int, void *)
{
high_r =
max(high_r, low_r+1);
}
void on_low_g_thresh_trackbar(int, void *)
{
low_g =
min(high_g-1, low_g);
}
void on_high_g_thresh_trackbar(int, void *)
{
high_g =
max(high_g, low_g+1);
}
void on_low_b_thresh_trackbar(int, void *)
{
low_b=
min(high_b-1, low_b);
}
void on_high_b_thresh_trackbar(int, void *)
{
high_b =
max(high_b, low_b+1);
}