Учитывая следующий программный код:
void on_low_height_thresh_trackbar(int, void*);
void on_high_height_thresh_trackbar(int, void*);
int low_height = 50, high_height = 85;
int main()
{
img_Original = cv::imread("ROI1.jpg", 0);
cv::medianBlur(img_Original, img_Median, 5);
cv::namedWindow("original image");
cv::namedWindow("selected image");
cv::createTrackbar("Low height", "selected image", &low_height, 255, on_low_height_thresh_trackbar);
cv::createTrackbar("High height", "selected image", &high_height, 255, on_high_height_thresh_trackbar);
cv::imshow("original image", img_Original);
on_low_height_thresh_trackbar(low_height, 0);
on_high_height_thresh_trackbar(high_height, 0);
cv::waitKey(0);
return 0;
}
void on_low_height_thresh_trackbar(int, void*)
{
low_height = cv::min(high_height - 1, low_height);
cv::setTrackbarPos("Low height", "selected image", low_height);
cv::inRange(img_Median, low_height, high_height, img_Ranged);
cv::imshow("selected image", img_Ranged);
}
void on_high_height_thresh_trackbar(int, void*)
{
high_height = cv::max(high_height, low_height + 1);
cv::setTrackbarPos("High height", "selected image", high_height);
cv::inRange(img_Median, low_height, high_height, img_Ranged);
cv::imshow("selected image", img_Ranged);
}
зачем нам нужны эти два формальных параметра int
и void*
в этой функции обратного вызова:
void on_low_height_thresh_trackbar(int, void*)
Я думаю, что онибесполезны.