Nehmen Sie OpenCV-Fenster und Vollbild machen
Ich bin derzeit machen ein OpenCV Projekt in C++, wo ich suchen Bewegung mit einem kinect verwenden, um cue-Diashow (sans-Erkennung). Derzeit bin ich die Anzeige der Diashow mit OpenCV (ich habe nur etwa eine Woche, um die Peitsche aus). Es sieht gut aus und ist schnell. Das problem ist nur, dass dies wird auf dem display für eine große Produktion, und ich kann nicht wirklich leisten, um die Fenster zu zeigen (ich spreche von Fensterdekorationen wie die Titelleiste und so).
Brauche ich, um loszuwerden, der Titel-Leiste. Ich habe eine Menge Forschung, und ich habe herausgefunden, dass Sie magisch schnappen Sie sich den Fenster-handle durch aufrufen cvGetWindowHandle("Diashow"), aber das ist eine void-Funktion, so dass ich nicht wirklich weiß, wie soll ich in den Griff bekommen, von diesem zu manipulieren.
Ich bin der Entwicklung dieses sowohl für windows UND ubuntu, da wird es am Ende auf einem windows-Rechner, aber ich kann nur die demo auf einem laptop mit ubuntu.
Ob jemand mir sagen kann wie man die Fenster und machen es Vollbild mit einem verkleinerten Bild zu füllen, die meisten, wenn nicht den gesamten Bildschirm in Windows oder Ubuntu, ich werde für immer dankbar sein.
- cvGetWindowHandle nicht
void
- es istvoid*
So können Sie werfen es zu HWND
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mit OpenCV 2.1 auf Ubuntu 11.04. Auf meinem system CV_WINDOW_FULLSCREEN und CV_WINDOW_AUTOSIZE flags beide anzeigen 1
Und beide Flaggen Verhalten sich genau gleich. Sie geben Sie eine Feste Größe der Fenster, was zu erwarten wäre für die AUTOSIZE-fahne, aber nicht im VOLLBILD. Ich denke, diese beiden flags sind gemeint, die für verschiedene Funktionen, obwohl Ihre ähnliche Erscheinung ist sehr verwirrend. Die Flagge CV_WINDOW_NORMAL Karten auf den Wert 0, das ist, was Sie verwendet haben. Es gibt Ihnen ein in der Größe veränderbares Fenster, das Sie könnte zu maximieren, aber es ist nicht ein Vollbild-Fenster.
Edit: ich habe gerade die Lösung gefunden in ein weiterer stachoverflow post. Hier ist die Lösung aus, die post, die hat Super funktioniert auf meinem system:
Bekomme ich ein echtes Vollbild ohne Titelleiste etc.
können Sie die cv::setWindowProperty Funktion für Ihre Zwecke, einfach CV_WINDOW_FULLSCREEN.
Vollständige Dokumentation in der openCV-WIKI
CV_WINDOW_NORMAL
imcvNamedWindow("Name", CV_WINDOW_NORMAL);