Ich benutze PyGame um Bilder (Fotos) anzuzeigen. Bei größeren Bildgrößen ist der Lade- und Konvertierungsvorgang langsam (z. B. 2-3 Sekunden für ein Bild der Größe 6000x4485). Der eigentliche Code, der langsam ist, ist:
%Vor%Gibt es eine alternative Bibliothek oder Methode, die eine bessere Leistung bietet? Meine Zielplattformen sind Windows 7 und OS X, und ich bin in Ordnung mit separaten Lösungen für jeden (obwohl eine einzige Lösung wäre besser).
Wenn Ihre JPEG-Bibliothek dies unterstützt, können Sie die Skalierungsparameter festlegen. Sie brauchen wahrscheinlich kein 6kx4k-Ausgabebild, wenn Sie es auf dem Bildschirm anzeigen und es kann um einen Faktor von mehreren beschleunigen.
Es könnte sein, dass Sie eine GUI-Bibliothek wie TkInter oder GTK + über PyGame verwenden. Wenn Sie eine Spielebibliothek verwenden müssen, wird Ihnen PyGlet vielleicht gefallen. Für PyGame hat jemand gesagt, dass dies die Geschwindigkeit erhöht: comments.gmane.org/gmane.comp.python.pygame/9015. Sie können libjpeg-turbo auch wie in den Kommentaren unter libjpeg-turbo.virtualgl.org angegeben überprüfen. Aber wie gesagt, Sie könnten besser eine GUI-Bibliothek verwenden oder das Ganze in C / C ++ portieren, um die mehrsprachigen Aufrufe zu vermeiden. Viel Glück!
Sie können PyTurboJPEG ausprobieren, was ein Python-Wrapper von libjpeg-turbo mit wahnsinnig schneller Neuskalierung (1/2, 1/4, 1/8) beim Decodieren eines großen JPEG-Bildes wie folgt,
%Vor%libjpeg-turbo prebuilt Binaries für Mac OS und Windows 7 sind auch hier .
Tags und Links python image image-processing pygame