Ich arbeite an einem Python (2.7.13) -Programm, das Bilder von der Webcam liest (in einem separaten Thread aktualisiert), wandelt eine Perspektive um und legt das Live-Video mit opencv (3.2.0-dev) in ein Fenster auf dem Bildschirm. Ich bekomme sehr niedrige FPS (13), ein 720x1280 Ausgabebild mit cv2.imshow() zu aktualisieren. Wenn ich den Anruf zu cv2.imshow() entferne und den Rest der Schleife gleich behalte, geht es bis zu 75 FPS. Was sollte ich anstelle von cv2.imshow() verwenden, um diesen Engpass bei der Bildaktualisierung zu reduzieren? Ich benutze ein 2016 MacBook Pro mit dedizierter Grafikkarte.Wie schnell Bilder auf dem Bildschirm mit Python/OS-X zu aktualisieren und Opencv imshow() verbessern
Benötige ich dafür PyOpenGL, und wenn ja, sind klare Beispiele dokumentiert? Ich habe Pygames Blit-Funktion ausprobiert und keine Verbesserung der FPS gesehen. Ich habe Pyglet betrachtet, das OpenGL verwendet, aber ich war nicht vertraut mit dem Paradigma der von Pyglet verwendeten Ereignisse und war nicht bereit, meinen Code neu zu schreiben, wenn sich herausstellt, dass es einen geeigneteren Weg gibt, wie Pyglet zu sein scheint Spiele und einige Quellen sagen, es ist nicht gut gepflegt.
Danke, dass Sie mich in die richtige Richtung weisen. Die Antwort auf diese Frage hat Code, der angepasst werden könnte: [link] (http://stackoverflow.com/questions/18434348/converting-cv2-images-to-pysdl2-surfaces-for-blitting-to-screen#19554202) –