получить дескриптор текущего активного окна в OpenCV - PullRequest
3 голосов
/ 16 марта 2012

Есть ли в OpenCV эквиваленты функций GLUT glutGetWindow () / glutSetWindow (), которые позволяют идентифицировать текущее активное окно и переключаться из ваших собственных кодов?

По сути, я хотел бы иметь возможность идентифицировать текущее активное окно из функции обратного вызова мыши, зарегистрированной во всех окнах, и заставить ее вызывать другую функцию обработки с различными параметрами для каждого окна.

Любая помощь будет оценена.

Ответы [ 2 ]

2 голосов
/ 16 марта 2012

В OpenCV нет функции для этого, однако подпись cvSetMouseCallback() позволяет зарегистрировать один обратный вызов на окно.

Вам нужно будет зарегистрировать отдельные обратные вызовы, чтобы достичь того, что вам нужно сделать.

Вот полный список функций, поддерживаемых модулем HIGHGUI.

Другой ( хардкор ) альтернативой является погружение в нативный API операционной системы, с которой вы работаете, и поиск методов, которые выполняют это. Проблема в том, что это решение не является кроссплатформенным.

0 голосов
/ 25 января 2019

На самом деле cvGetWindowHandle (const char * windowname) доступен в opencv / highgui / highgui_c.h.Это доступно до openCV 4, когда был написан этот ответ.

Я предлагаю добавить

#include <opencv/highgui/highgui_c.h> 

и использовать

cvGetWindowHandle(window_name_.c_str())
...