Bonjour à tous,
openCV est une librairie qui permet, entre autres, de récupérer le flux vidéo d'une webcam et de l'afficher de façon optimisée.
Le rendu se fait dans une fenêtre identifiée par son nom, et on peut récupérer son handler, dans mon cas(windows) un HWND* .
J'ai testé de différentes façons "d'inclure" cette fenêtre dans un QWidget, mais sans succès.
Essai 1 : QWidget::find() :Résultat : Echec, cvHWND est toujours nul;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 videoW = new QWidget(); cvNamedWindow("cvWin"); HWND* cvHWND = (HWND*)cvGetWindowHandle("cvWin"); videoW = QWidget::find((WId)*cvHWND);
Essai 2 : setParent(HWND,HWND) de windows.h :Résultat : Echec, bien que l'include <windows.h> se fasse correctement, le compilateur ne le reconnaît pas, et fait touours appel à QWidget::setParent().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 videoW = new QWidget(); cvNamedWindow("cvWin"); HWND* cvHWND = (HWND*)cvGetWindowHandle("cvWin"); setParent(*cvHWND,(HWND)videoW.WId());
Si vous avez une solution pour le deuxième essai, et/ou si vous savez comment mettre une fenêtre HWND dans un QWidget, merci de me renseigner.
Joyeux Noel,
G.
Partager