OpenCV Bild darstellen
-
Ich nehme mit einer Camera ein Bild auf, übergebe es an einen anderen Thread, der ein Fenster aufmachen und es auf dem Bildschirm darstellen soll. Das ganze soll natürlich kontinuierlich ablaufen, sodass ca. 40 Bilder pro Sekunde gemacht werden.
Mein ViewerModul sieht so aus:
#include "ViewerModul.hpp" #include "../main.hpp" #include "../Daten/BildDaten.hpp" #include <opencv/cv.h> #include <opencv/highgui.h> void ViewerModul::arbeiten() { ... // create a window cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE); cvMoveWindow("mainWin", 100, 100); while(laufen) { // aus s hole ich das Bild vom anderen Thread IplImage* img = s->leseImg(); // show the image cvShowImage("mainWin", img ); // wait for a key //cvWaitKey(0); // release the image //cvReleaseImage(&img ); ... } };
Die Sache läuft wunderbar, aber ich sehe kein Fenster! Erst wenn ich cvWaitKey(0) einbaue dann erscheint das Fenster. Aber natürlich muss ich dann 40 mal pro Sekunde einen Knopf drücken damit das nächste erscheint
Was mache ich falsch?
-
Ich hab eine Lösung gefunden! ein cvWaitKey(10) hat geholfen!
-
Dieser Thread wurde von Moderator/in pumuckl aus dem Forum C++ in das Forum Spiele-/Grafikprogrammierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.