我有一个framegrabber(硅软件),我设法显示使用OpenCV从内存缓冲区中的指针抓取图像。如何将OpenCV显示窗口添加为Win32 C++应用程序中另一个窗口的子窗口?
现在我想创建一个应用程序(Win32),并将openCV窗口作为主应用程序窗口的子窗口。 有人有什么想法吗?
我有一个framegrabber(硅软件),我设法显示使用OpenCV从内存缓冲区中的指针抓取图像。如何将OpenCV显示窗口添加为Win32 C++应用程序中另一个窗口的子窗口?
现在我想创建一个应用程序(Win32),并将openCV窗口作为主应用程序窗口的子窗口。 有人有什么想法吗?
我找到了答案,很简单。只是几行代码。 这是:
cv::namedWindow("test",cv::WINDOW_AUTOSIZE);
hWnd2 = (HWND) cvGetWindowHandle("test");
hParent = ::GetParent(hWnd2);
::SetParent(hWnd2, hParent);
::ShowWindow(hParent, SW_HIDE);
如果你想要自己的窗口,可能会更好,跳过整个highgui的东西, ,做你自己的blitting。
看看cvShowImage(),highgui/src目录/ window_w32.cpp,L 1384,看,的src他们正在做什么这里
并不确切地知道你所说的“孩子是什么意思窗口“,但是您可以从OpenCV的IplImage格式中获取像素信息,并将其转换为您窗口所需的任何格式。