2016-11-23 4 views
1

Ich benutze Android 6.0, um etwas Entwicklung zu machen. Jetzt möchte ich libjpeg-turbo verwenden, um JPEG-Bild (JPEG9-Bild), das von der Kamera in nativem C++ - Code aufgenommen wurde, zu dekodieren. Allerdings kann libjpeg-turbo nur JPEG 8 unterstützen. Daher gibt libjpeg-turbo einen Fehler als "falsche JPEG-Bibliotheksversion" aus. Weiß jemand, wie man dieses Problem löst?Wie benutzt man libjpeg-turbo um JPEG9 Image zu dekodieren?

In der Tat verwende ich jetzt OpenCV-Funktion Imdecode, um diesen Job zu tun, aber es ist zu langsam. Jemand sagt, dass OpenCV libjpeg in imdecode und imencode verwendet. Ist das wahr?

Wenn ich libjpeg-turbo nicht verwenden kann, was sonst kann ich verwenden, damit JPEG9-Bild effizient decodiert und kodiert werden kann?

Jede Hilfe wird geschätzt!

Antwort

0

Libjpeg-Turbo bewusst unterstützt keine Bilder mit Erweiterungen von libjpeg v9 Gabel, denn sie sind nicht-Standard und bieten keine bessere Kompression als Bilder von Standard-konformen Versionen von libjpeg:

https://libjpeg-turbo.org/About/Jpeg-9

Also die Antwort ist, dass Sie sie nicht decodieren können. Das Beste, was Sie tun können, ist die Verwendung von libjpeg v9 zu vermeiden, oder wenn Sie müssen, stellen Sie sicher, dass Sie alle SmartScale-Erweiterungen deaktivieren, um JPEG-kompatible Dateien zu erstellen.

Verwandte Themen