R
@makopo sagte in VideoStream in Framebuffer schreiben (OpenGL und Qt):
Meine Idee ist: Man drückt einen Button und dadurch werden die Pixel Daten in den Bildspeicher geschoben. Aus diesen Daten wird der Graph erstellt. Gleichzeitig sollen die Werte für RGB und Luminanz in einer Textarea ausgegeben werden. Das bedeutet dann aber auch, das es keine Live-Aktualisierung gibt. Wird die Kamera bewegt, werden die Daten im Bildspeicher nicht aktualisiert und damit auch nicht der Graph. Drückt man den Button wieder werden die Daten im Bildspeicher überschrieben und der Graph aktualisiert. Das wird vermutlich das Beste für die Performance sein?
Die gefühlte minimale Reaktions-Zeit eines Users liegt im Millisekundenbereich, also das was als "Sofort" wahrgenommen wird. D.H. was du beschreibst, und nicht beim implementieren der Anzeige grobe Fouls begeht, ist das von der erforderlichen Performance her .... mehr als unkritisch.
"Herausforderung", wär das bei üblichen Industrie Cam Daten Größen , also ca. 2 Megapixel bei 30 Hz, live zu rechnen ...
inklusive Formatkonvertierung & co. und dann noch genug Rechenzeit zu haben für die eigentlichen Computer vision themen
Programmierung mit OpenGL
Das ist das was du erst mal nicht brauchst ... Es macht kein Sinn, einen Renderer aufzuziehen nur um ein Pixmap auf deinen Desktop zu blitten. Rendern ist nur sinnvoll wenn du 3D Daten 2 dimensional projezieren willst. Einen fertiges Image anzuzeigen da ist eine normale GUI genau so gut.
Willst du fertig ein Video irgendwo in ein Programm mit normaler GUI einbetten, ist Qt + Multimediaframework eh besser geeignet.
Histogramme, Filter sind dann eher Computervision themen, deshalb -> OpenCV
Und ich möchte mich ungern Stunden/Tage in eine Programmierung mit OpenGL verrennen,
Sich in neue Bibs einarbeiten und bewerten ist tägliches Brot für uns eigentlich.
Aber viel wichtiger ist es, Computer und Konzepte zu verstehen. Die sprachen / Bibliotheken sind eigentlich nur das Werkzeug.
Auf Architektur / Idee / Konzept kommt es mehr an, und ist low/mid level bereich eher auch für Performance ausschlaggebend.
Dein Program würd ich z.b. mit python + Qt + vielleicht opencv (python) umsetzen. C++ wäre mir da zu langsam (vom Zeitaufwand zum proggen) und die Performance würde trotzdem langen. Aber mit C++ als Anforderung geht das natürlich auch entsprechend super.