У меня есть фрейм-граббер (Silicon Software), и мне удалось показать захваченные изображения из указателя в буфере памяти с помощью OpenCV.
Теперь я хочу создать приложение (Win32) и разместить окно openCV как дочернее окно основного окна приложения.
У кого-нибудь есть идеи?
Я нашел ответ, это было так легко. Всего пара строк кода.
вот :
cv::namedWindow("test",cv::WINDOW_AUTOSIZE);
hWnd2 = (HWND) cvGetWindowHandle("test");
hParent = ::GetParent(hWnd2);
::SetParent(hWnd2, hParent);
::ShowWindow(hParent, SW_HIDE);
если вы хотите собственное окно, возможно, лучше пропустить весь материал хай-хи,
и делать свои собственные блинты.
взгляните на источник cvShowImage (), highgui / src / window_w32.cpp, l 1384, чтобы увидеть, что они здесь делают
Не знаю точно, что вы подразумеваете под «дочерним окном», но вы можете получить информацию о пикселях из формата OpenCV IplImage и преобразовать ее в любой формат, который вам нужен для вашего окна.