我编写了代码来使用专有 SDK 压缩和解压缩图像文件,以便通过卫星从飞机传输。不幸的是,必须购买许可证才能进行解压缩和压缩。到目前为止,我的应用程序主要在内部使用,因此我可以跟踪许可证和分发。现在我需要为外人提供应用程序,我既不能控制分发,也不想为许可证付费。
有人知道免费的解压缩程序、SDK 或库吗?我用 C++ 为 Windows NT、2000、XP 编程。
我的图像文件是原始数据,单色,具有 16 位无符号像素,并且使用的压缩是无损或非常轻微的有损。
这只是一个想法,但事实上 JPEG2000 的标准是Kakadu,因为 Taubman 博士几乎编写了 JPEG2000 标准。虽然要花一些钱,但它是我所知道的最好的图书馆。
还有 libjasper: 链接文本
查看j2k-codec 它不是免费的,但也不昂贵。
我自己买了它(v1.7)并使用了 4 年。解码速度非常快,目前没有遇到任何错误。
对于编码,我使用 ER Mapper SDK。
我不知道这些年来有多少改进Jasper
或OpenJPEG
表现出来,但那些免费库对我来说太慢了。(编码和解码都慢)
Magick++ 是 ImageMagick 的 C++ 绑定,我认为它公开了 ImageMagick 的 JPEG-2000 功能。ImageMagick 使用了 Doug 提到的 libjasper。这可能对你有用(希望对我也有用)。
当 GdiPlus 已经这样做了,为什么有人会在 Windows 平台上为 Jpeg 库付费?
http://msdn.microsoft.com/en-us/library/ms533844(VS.85).aspx
应该是一个很好的起点。gdiplus 在 jpeg 解压缩速度方面排名第二(在我的测试中,无论什么重要)。并作为 Windows 5 及更高版本的操作系统组件分发。即 Windows XP 和更高版本。
如果出于任何原因,GdiPlus 是不可接受的......
Intel曾经发布过一个jpeg解压*压缩库,创造性地命名为“intel jepg library”或ijl。可再发行组件由单个 dll ijl15.dll 组成,如果您能找到原始发行版,则其许可免费分发和使用。英特尔只是不再托管它。它已被 intel 性能原语库所取代,该库确实包含 jpeg 压缩和解压缩,但每席位许可非常公平,并且对coff可再发行文件的再分发没有限制。