4

我有一个帧抓取器(Silicon Software),我设法使用 OpenCV 从内存缓冲区中的指针显示抓取的图像。

现在我想创建一个应用程序(Win32)并将 openCV 窗口作为主应用程序窗口的子窗口。有人有什么想法吗?

4

3 回答 3

3

我找到了答案,太简单了。就几行代码。这里是 :

cv::namedWindow("test",cv::WINDOW_AUTOSIZE);                        
hWnd2 = (HWND) cvGetWindowHandle("test"); 
hParent = ::GetParent(hWnd2);       
::SetParent(hWnd2, hParent); 
::ShowWindow(hParent, SW_HIDE);
于 2013-02-25T11:12:55.730 回答
2

如果您想要自己的窗口,最好跳过整个 highgui 的内容,并自己进行 blitting。

看看 cvShowImage() 的 src,highgui/src/window_w32.cpp,l 1384,看看,他们在这里做什么

于 2013-02-21T17:06:11.070 回答
0

不知道“子窗口”的确切含义,但您可以从 OpenCV 的 IplImage 格式中获取像素信息,并将其转换为您的窗口所需的任何格式。

于 2013-02-25T10:47:25.483 回答