Проверьте документы , и вы увидите подпись функции:
cvCreateTrackbar(const char* trackbarName, const char* windowName, int* value, int count, CvTrackbarCallback onChange)
Обратите внимание, что последний параметр имеет тип CvTrackbarCallback
.Очевидно, что это не встроенный тип, а тип, определенный OpenCV.Итак, мы возвращаемся к документации, чтобы узнать больше об этом, и, что интересно, эта информация отображается:
Функция cvCreateTrackbar () создает трекбар (он же слайдер или регулятор диапазона) с указанным именем иrange, назначает переменную, которая будет синхронизирована с положением трекбара, и задает функцию обратного вызова , которая будет вызываться при изменении положения трекбара.
И прямо под этим абзацем вы можете увидеть, какCvTrackbarCallback
должно быть объявлено:
CV_EXTERN_C_FUNCPTR( void (*CvTrackbarCallback)(int pos) );
Подводя итог, для вызова cvCreateTrackbar()
вам необходимо объявить функцию с подписью void some_fun(int pos)
, чтобы иметь возможность получать уведомления от OpenCV, когда ползуноктрекбар обновлен.Аргумент int pos
сообщает новую позицию ползунка.