我有一個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格式中獲取像素信息,並將其轉換爲您窗口所需的任何格式。