我有一个framegrabber(Silicon Software),我设法使用OpenCV显示内存缓冲区中指针的抓取图像。
现在我想创建一个应用程序(Win32)并将openCV窗口作为主应用程序窗口的子窗口。 有人有任何想法吗?
答案 0 :(得分:3)
我找到了答案,这很容易。只需几行代码。 这是:
cv::namedWindow("test",cv::WINDOW_AUTOSIZE);
hWnd2 = (HWND) cvGetWindowHandle("test");
hParent = ::GetParent(hWnd2);
::SetParent(hWnd2, hParent);
::ShowWindow(hParent, SW_HIDE);
答案 1 :(得分:2)
如果你想拥有自己的窗户,可能更好,跳过整个高贵的东西, 并做你自己的blitting。
看看cvShowImage()的src,highgui / src / window_w32.cpp,l 1384,看看他们在这里做什么
答案 2 :(得分:-1)
不完全知道“子窗口”的含义,但您可以从OpenCV的IplImage格式中获取像素信息,并将其转换为窗口所需的任何格式。