2009-03-07 4 views
6

Ich habe Code zum Komprimieren und Dekomprimieren von Bilddateien mit einem proprietären SDK für die Übertragung von einem Flugzeug über Satellit geschrieben. Leider muss eine Lizenz für die Dekomprimierung und Komprimierung erworben werden. Bis jetzt wurden meine Anwendungen meist intern verwendet, so dass ich die Lizenzen und den Vertrieb im Auge behalten kann. Jetzt muss ich die Anträge für Außenstehende stellen und ich kann die Verteilung weder kontrollieren noch für die Lizenzen bezahlen.Kostenlose JPEG2000-Bibliothek oder SDK zur Dekomprimierung

Kennt jemand freie dekomprimieren Programme, SDKs oder Bibliotheken? Ich programmiere in C++ für Windows NT, 2000, XP.

Meine Bilddateien sind Rohdaten, monochrom, mit 16bit unsigned Pixeln und die Komprimierung, die verwendet wird, ist verlustfrei oder sehr mild verlustbehaftet.

+1

Ich bin kein SO Anwalt, aber ich sehe den Fehler in dieser Frage nicht. Ich stelle fest, dass es in der Tat keine Debatten, Argumente, Umfragen oder ausgedehnte Diskussionen anbot, also wurde jede Heuristik verwendet, um zu prognostizieren, dass dies in diesem Fall fehlgeschlagen ist. – Spike0xff

Antwort

4

Vielleicht könnte dies ein guter Ausgangspunkt sein: OpenJPEG. Wenn es Ihren Anforderungen nicht entspricht, dann fragen Sie in ihrem Forum nach Tipps.

Einige Leute an meiner Universität verwendet jj2000 für verschiedene Tests. Wie auch immer es in Java ist ...

+1

Ich hatte Erfolg mit OpenJPEG in Windows. (C#; Ich habe meinen eigenen Wrapper in C geschrieben und diese DLL mit C# aufgerufen). Es ist langsam, aber es funktioniert. –

+0

@ JaredUpdike das hört sich gut an! Sind Sie Open Source oder als Download verfügbar? – Andreas

-9

Warum sollte jemand die Windows-Plattform bezahlen jemanden für eine Jpeg-Bibliothek zahlen, wenn GdiPlus es schon tut?

http://msdn.microsoft.com/en-us/library/ms533844(VS.85).aspx

sollte ein guter Ausgangspunkt sein. gdiplus hat die zweitbeste JPEG Dekompression Geschwindigkeit (in meinen Tests für was auch immer es zählt). Und wird als Betriebssystemkomponente mit Windows 5 und höher vertrieben. d.h. Windows XP und höher.

Wenn aus irgendeinem Grund, GdiPlus nicht akzeptabel ist ...

Intel verwendet, um eine JPEG-Dekompression * Komprimierungsbibliothek zu verteilen, erfindungsgemäß die "Intel jepg Bibliothek" oder ijl benannt. Das Redistributable besteht aus einer einzigen DLL, ijl15.dll Wenn Sie die ursprüngliche Distribution finden, ist es für die kostenlose Verteilung lizenziert und verwenden. Intel hostet es nicht mehr. Es wurde durch die Bibliothek mit den primitiven Leistungsmerkmalen ersetzt, die jpeg-Komprimierung und -Dekompression enthält, aber die Lizenz pro Arbeitsplatz ist sehr fair, und es gibt auch keine Begrenzung für die Weiterverteilung der weiterverteilbaren Daten von coff .

+4

Es gibt einen Unterschied zwischen JPEG und JPEG2000. JPEG2000 ist ein völlig anderes Tier mit viel besserer Komprimierung. – kevindaub

5

Es ist nur ein Gedanke, aber der de-facto-Standard für JPEG2000 ist Kakadu weil Dr. Taubman ziemlich den JPEG2000-Standard geschrieben. Obwohl es etwas Geld kostet, ist es die beste Bibliothek, die ich kenne.

1

Magick ++ ist eine C++ - Bindung für ImageMagick, die denken stellt ImageMagick JPEG-2000-Funktionalität. ImageMagick benutzt libjasper, was Doug erwähnt hat. Dies könnte den Trick für Sie (und hoffentlich auch für mich) tun.

+1

ImageMagick verwendet jetzt OpenJPEG anstelle von JasPer für den Umgang mit JPEG 2000 http://www.imagemagick.org/discourse-server/viewtopic.php?t=25357 – cyang

2

Check out j2k-codec Es ist nicht kostenlos, aber auch nicht teuer.

Ich habe es gekauft (v1.7) selbst und benutze es seit 4 Jahren. Die Decodierung ist sehr schnell, bisher ist kein Fehler aufgetreten.

Für die Codierung verwende ich ER Mapper SDK.

Ich weiß nicht, wie viel Verbesserungen Jasper oder OpenJPEG diese Jahre gezeigt hat, aber diese freien Bibliotheken waren zu langsam für meine Verwendung.(Sowohl Codierung als auch Decodierung langsam)