【问题标题】:Bash: How to get size of image compressed with JPEG2000Bash:如何获取用 JPEG2000 压缩的图像大小
【发布时间】:2018-02-07 14:27:11
【问题描述】:

我使用JPEG2000标准编码图像,如何获得压缩后的图像大小。

identify inputimage.pgm 

有效但

identify inputimage.jpc

不起作用。 错误是“识别:此图像格式 `J2K'@error/constitute.c/ReadImage/501 没有解码委托。”

【问题讨论】:

  • 似乎与 ImageMagick 的安装/编译方式有关。你能指定你的环境吗?
  • 我的环境是Ubuntu 16.04

标签: imagemagick


【解决方案1】:

错误消息说identify 没有找到必要的库来处理 JPEG2000。您可以检查identify -list format 的输出来确认。

确实,看来JPEG2000 support is not enable in last versions of UbuntuDebian fixed this issue a while ago。所以我建议:

  • 安装另一个发行版(以 Debian 为例)
  • 重建支持 JPEG2000 的 imagemagick 包

在 Ubuntu 下,您可以按照以下步骤重建 ImageMagick 并支持 JPEG2000:

apt-get source imagemagick
sudo apt-get build-dep imagemagick
sudo apt-get install libopenjp2-7-dev
dpkg-buildpackage -uc -us
sudo dpkg -i *deb

【讨论】:

    【解决方案2】:

    您可以通过运行测试您的 ImageMagick 安装能够读取/写入的图像格式:

    identify -list format
    

    此外,通过运行 “委托”“帮助程序”ImageMagick 能够读取/写入哪些文件:

    identify -list delegate
    

    如果您在 Linux 上并且缺少 JPEG2000,您可能需要在运行 ./configure 之前安装以下内容来配置 ImageMagick

    • 包配置
    • libopenjpeg
    • libopenjp2-7-dev

    至少在 macOS 下的 Mac 上,这意味着您需要完成:

    brew install openjpeg
    brew install imagemagick --with-openjpeg      # Use "reinstall" if already installed
    

    【讨论】:

    • 您好,我按照您的建议做了,但似乎仍然缺少 JPEG2000。请推荐别的东西。谢谢。
    • 您可能需要在安装 ImageMagick 之前安装 pkgconf(可能是 pkg-config),以便 ImageMagick 找到 OpenJPEG
    • 我刚刚发现在运行./configure 并安装ImageMagick 之前,您需要安装libopenjp2-7-devsudo apt-get install libopenjp2-7-dev
    • ImageMagick 的旧版本使用 JP2000 的 Jasper 委托库。从 IM 6.8.9-1 开始的较新版本使用 OpenJPEG 2.1 或更高版本。
    【解决方案3】:

    如果 ImageMagick 不行,你可以尝试使用 exiftool:

    exiftool -FileSize inputimage.jpc
    

    【讨论】:

    • 我试过这个,但结果不准确。与图像属性中显示的大小相比,图像的大小更小。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-08
    • 2012-06-22
    • 2016-01-29
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多