如何在 ImageMagick 中启用 JPEG2000 (jp2)?

aro*_*ath 19 configuration imagemagick software-installation

我想使用 ImageMagick 将一些文件从 jp2 (JPEG-2000) 转换为 jpg。执行此操作的命令很好,但我不知道如何在 ImageMagick 中启用 jp2 委托。

我通过包管理器安装ImageMagick的:sudo apt-get install ImageMagick
我正在使用 ImageMagick 6.8.9-9,这是最新版本的 ImageMagick 可从apt-get.

目前,许多主要文件类型已自动包含在内。以下库具有内置支持并被列为委托:

bzlib cairo djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png rsvg tiff wmf x xml zlib

编辑:我应该提到,在开始与openjpeg-2. 像这样的命令convert input.jp2 output.jpg给了我错误消息:

转换:没有此图像格式`JP2'的解码委托@error/constitute.c/ReadImage/501。

所以,我需要让 jp2 工作。相关的库是openjpeg-2,ImageMagick 的委托页面提供了 tarball,openjpeg-2.0.0.tar.gz.

好的,所以我下载了它并按照安装文件中给出的说明进行安装。正常的东西:cmake .sudo make install

但是现在,我如何配置 ImageMagick 以使其“接收” open-jpeg-2.0.0?我是否必须从源代码重建 ImageMagick 才能这样做?或者是否有我可以输入的命令来让 ImageMagick 启用它?或者我应该更改的文件等?

我花了很长时间研究这个,在网上阅读了很多问答,但我仍然没有破解它。这是我的 Linux 知识问题,而不是与 ImageMagick本身有关,所以如果有人能帮助我找出这里缺少的步骤,我将不胜感激。谢谢你。

Bor*_*per 11

安装libopenjp2-tools并用于opj_decompress将 jp2 转换为其他内容:

sudo apt install libopenjp2-tools
opj_decompress -i m_3712213_sw_10_h_20160625_20161004.jp2 -OutFor TIF -o my.tif
Run Code Online (Sandbox Code Playgroud)

该软件包提供了命令行工具,允许在多种格式之间进行转换,还提供了用于编码和解码 motion-jpeg2000 视频格式的工具:

  • opj_decompress:将 j2k、jp2 和 jpt 文件解码为 pgm、ppm、pnm、pgx 和 bmp。
  • opj_compress:将 pnm、pgm、pgx、bmp 和 ppm 文件编码为 j2k 和 jp2。
  • opj_dump:转储信息包含在 j2k 和 jp2 中。
  • index_create:从 j2k 文件创建带有 JPIP 索引文件的 jp2。
  • frame_to_mj2:将 YUV 视频流转换为 mj2 格式。
  • mj2_to_frames:将 mj2 视频流转换为 YUV 格式。
  • wrap_j2k_in_mj2:将 j2k 码流包装成 mj2 格式。
  • extract-j2k-from_mj2:从 mj2 格式中提取 j2k 码流。


小智 3

@arokath 和你一样,我无法在通过 apt-get 安装的 ImageMagick 版本中找到 jp2 支持(Ubuntu 16.04.1 LTS)。

在从源代码构建之前(遵循ImageMagick 文档),我先安装libopenjp2-tools,然后安装libopenjp2-7-dev

注意configure:我不确定哪一个做到了这一点:列出的 jp2 支持末尾的字母顺序摘要为OpenJP2,而不是JP2我在安装libopenjp2-7-dev和重新配置之前没有注意到的;它很可能只适用于第一个库。

除此之外./configure,我发现我需要(按照文档中的建议)“配置动态链接器” make:。make installsudo ldconfig /usr/local/lib

现在,输出包含/usr/local/bin/identify -list format

  J2C* rw-   JPEG-2000 Code Stream Syntax (2.1.0)
  J2K* rw-   JPEG-2000 Code Stream Syntax (2.1.0)
  JNX* r--   Garmin tile format
  JP2* rw-   JPEG-2000 File Format Syntax (2.1.0)
  JPC* rw-   JPEG-2000 Code Stream Syntax (2.1.0)
  JPM* rw-   JPEG-2000 File Format Syntax (2.1.0)
  JPT* rw-   JPEG-2000 File Format Syntax (2.1.0)
 JSON  -w+   The image format and characteristics
Run Code Online (Sandbox Code Playgroud)


小智 3

我解决了在 Imagemagick 中启用 openjp2 委托的问题。

确保您已经安装:

现在,当您启动时,./configure您可以看到openjp2委托

代表 = mpeg jbig jng jpeg lcms lzma openjp2 png tiff zlib