shell - JPEG-2000 到 JPEG 的快速、多操作系统、命令行转换

标签 shell command-line jpeg image-conversion jpeg2000

我正在处理使用 ImageMagick 处理图像的 Web 脚本。它获取相关参数,根据操作系统在命令行或 shell 执行 ImageMagick 命令,并将原始图像数据传递回脚本。网络脚本的语言显然不相关。

简单的用例包括:convert -resize 750 H:/221136.png -它只是将输入图像的大小调整为 750 宽度并将原始数据输出到控制台。更复杂的用例涉及旋转、调整大小、裁剪/平移和绘图。

该脚本运行良好,对于 PNG、GIF 和 JPEG 输入速度非常快,即使在相当大的情况下(4000x5000 分辨率)也是如此。不幸的是,我的输入数据还包括 JPEG-2000。 ImageMagick 处理一个 10-15 兆字节的 JPEG2000 需要非常疯狂的时间,大约为 10-15 秒。它不适合实时转换。

我知道将 JPEG-2000 快速转换为 JPEG 以用于 Web 输出是可能的,因为我使用的一个企业软件可以即时完成。我不确定他们使用哪个库——DLL/所以他们使用的是 DL80JP2KLib.dll/.so。查了一下,好像是一家叫 DataLogic 的公司在做这个,但他们的网站上似乎没有任何明显相关的程序。

理想情况下,我正在寻找一种解决方案(插件?),它可以让 ImageMagick 像处理 PNG、GIF 或 JPEG 一样即时转换这些高分辨率的 JPEG-2000 图像……或单独的命令我可以在 ImageMagick 之前运行的实用程序将 JPEG-2000 转换为 ImageMagick 可以快速处理的中间格式。

将运行此脚本的服务器具有 32 演出内存和强大的处理器。假设转换速度比资源使用效率更重要。还假设虽然我需要一些外观质量,但图像有损并不是一件紧迫的事情。许可要求和/或价格并不重要,除了在我们购买之前我需要能够自己测试几个示例文件的速度。理想的解决方案也是(相对)独立于操作系统的

我尝试了 Kakadu Software 的一个应用程序,它相当快,大约 3-4 秒,但仍然不够快。如果无法到达下方,例如一秒钟,我将提前查看批量转换文件。

我已将代表性文件 (JPEG-2000, ~8MB) 上传到 MediaFire:
http://www.mediafire.com/?yxv0j6vdwx0k996

最佳答案

我发现过去的精确图像要快得多。

http://www.exactcode.de/site/open_source/exactimage/

Mark Tyler(mtPaint 的原作者)曾经将优秀的图形处理部分拆分到一个单独的库中(mtpixel ...自从作为一个单独的项目被放弃,但包含在 mtcelledit @ its Google code home 中)

关于shell - JPEG-2000 到 JPEG 的快速、多操作系统、命令行转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8525157/

相关文章:

linux - 如何比较bash中的IP值?

jpeg - 如何将大量信息附加到 JPEG 文件?

javascript - 图像质量差使用 JSPDF 将 Google Charts 插入 PDF

android - 在 Android 上使用 JPEG 作为背景而不是 PNG

shell - 如何修复大量文件的 “No newline at end of file” 警告?

Java - 在没有 IDE 的情况下使用下载的包

java - 静态变量与命令行一起使用

bash - 反引号的论点似乎解释了两次?

linux - 仅在下面的目录中查找和复制同名文件并复制到不同的目录

linux - 查找其他人没有读取权限的文件