使用 openJPEG 2.0 和 CentOS 6.5 的 ImageMagick

使用 openJPEG 2.0 和 CentOS 6.5 的 ImageMagick

我目前正在使用 CentOS 6.5 服务器。我正在尝试使用openjp2作为 ImageMagick 中的代表之一。

由于 CentOS 的 openjpeg 已经过时(1.3),我使用 RPM 包安装了一个新的。

$ find /usr | grep openj
/usr/lib64/libopenjp2.so
/usr/lib64/libopenjp2.so.2.0.0
/usr/lib64/openjpeg-2.0
/usr/lib64/openjpeg-2.0/OpenJPEGConfig.cmake
/usr/lib64/openjpeg-2.0/OpenJPEGTargets.cmake
/usr/lib64/openjpeg-2.0/OpenJPEGTargets-release.cmake
find: `/usr/lib64/audit': Permission denied
/usr/lib64/libopenjp2.so.6
/usr/share/doc/openjpeg2
/usr/share/doc/openjpeg2/CHANGES
/usr/share/doc/openjpeg2/LICENSE
/usr/share/doc/openjpeg-2.0
/usr/share/doc/openjpeg-2.0/CHANGES
/usr/share/doc/openjpeg-2.0/LICENSE
/usr/share/man/man3/libopenjp2.3.gz
/usr/share/man/man3/libopenjp2.3
/usr/lib/libopenjp2.so
/usr/lib/libopenjp2.so.2.0.0
/usr/lib/openjpeg-2.0
/usr/lib/openjpeg-2.0/OpenJPEGConfig.cmake
/usr/lib/openjpeg-2.0/OpenJPEGTargets-noconfig.cmake
/usr/lib/openjpeg-2.0/OpenJPEGTargets.cmake
/usr/lib/libopenjp2.so.6
/usr/include/openjpeg-2.0
/usr/include/openjpeg-2.0/openjpeg.h
/usr/include/openjpeg-2.0/opj_config.h
/usr/include/openjpeg-2.0/opj_stdint.h

接下来,我尝试使用以下配置设置构建 IM 版本 6.8.8-2。

./configure --prefix=/usr --with-modules --with-openjp2 --with-jpeg --with-png --with-tiff --enable-shared --disable-static

然而,在检查(日志)过程中,我发现了这一点。

-------------------------------------------------------------
checking for LIBOPENJP2... no

最终结果如下:

bzlib djvu mpeg fontconfig freetype gslib jng jpeg lcms openexr png ps rsvg tiff x xml zlib

跑步时./configure --help,我看到了一些你可以传递的旗帜。

LIBOPENJP2_CFLAGS
  C compiler flags for LIBOPENJP2, overriding pkg-config
LIBOPENJP2_LIBS
    linker flags for LIBOPENJP2, overriding pkg-config

在 期间我需要指定什么吗./configure? IM 似乎无法看到已安装的 openjpeg。

谢谢!

答案1

您没有提到您安装了什么包,但是您的错误表明您没有安装其相关-devel包,而该包是编译软件所必需的。

答案2

我刚刚遇到这个问题(在 CentOS 7 上),发现问题是因为我没有安装该openjpeg-devel软件包。

yum install openjpeg2-devel

在寻找解决方案时,发现 ImageMagick 目前仅支持 OpenJPEG 2.1。

答案3

编译这个有点痛苦,我应该学会阅读日志 :( ...事实上,你需要使用 jp2 的源代码这里 然后在INSTALL.md中按要求进行编译:

cmake .
make && make install

默认情况下安装在/usr/local

转到 ImageMagick 源目录,然后设置:

export LIBOPENJP2_CFLAGS=/usr/local/include/openjpeg-2.1
export LIBOPENJP2_LIBS=/usr/local/lib
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

然后你就可以编译了!(我已经用 perl、tiff、jpeg 和 jpeg2000 进行了编译)。

./configure --enable-delegate-build --with-perl --enable-shared=yes --with-jpeg=yes --with-tiff=yes --with-openjp2=yes && make && make install

完毕 !

$> convert -list
Version: ImageMagick 7.0.5-0 Q16 x86_64 2017-03-02 http://www.imagemagick.org
Copyright: © 1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP
Delegates (built-in): fontconfig freetype jng jp2 jpeg png tiff x zlib
Usage: convert [options ...] file [ [options ...] file ...] [options ...] file

相关内容