2015-01-19 3 views
0

Я хотел бы использовать обратный вызов opencv более подробно, чем описано в документации OpenCV.callback of opencv - подробности ссылки

Например, createTrackbar (Const строка & trackbarname, Const строка & winname, Int * значение, число INT, TrackbarCallback OnChange = 0, аннулируются * UserData = 0)

здесь я не знаю больше информации о TrackbarCallback , Это аргументы ввода/вывода или я могу изменить этот интерфейс.

Могу ли я получить дополнительную информацию или дополнительную информацию?

Спасибо!

Edit 01:

Я тестировал этот код:

int arr[3] = {3,2,1}; 
    int *iptr = arr; 
createTrackbar("trackbar value:", "window", &val, max_val, thresh_callback, (void*)iptr); 

и

void thresh_callback(int num, void* data) 
{ 
    cout << num << endl; 
    cout << *((int*)data) << endl; 

} 

Я пытаюсь добавить данные и изменить оригинальный интерфейс обратного вызова т.е. обратного вызова (int, void *) нет ошибки компиляции, но обратный вызов вызывает «Доступ к считыванию нарушения доступа»

ответ

1

Если вам нужно передать больше данных, возможно, вы можете упаковать эти данные в структуру и передать указатель на это в обратный вызов, а не пытаться изменить исходный интерфейс? :)

+0

вот что я сделал в редакции 01 –

+0

вы можете найти более подробную информацию [здесь] (http://answers.opencv.org/question/32888/passing-multiple-parameters-with-the-setmousecallback-function/) – sturkmen

Смежные вопросы