web-dev-qa-db-ja.com

ImageMagickでJPEG2000(jp2)を有効にする方法

ImageMagickを使用して、いくつかのファイルをjp2(JPEG-2000)からjpgに変換します。それを行うコマンドは問題ありませんが、ImageMagickでjp2デリゲートを有効にする方法がわかりません。

パッケージマネージャーでImageMagickをインストールしました:Sudo apt-get install ImageMagick
ImageMagick 6.8.9-9を使用しています。これは、apt-getから入手できるImageMagickの最新バージョンです。

現在、多くの主要なファイルタイプが自動的に含まれています。次のライブラリには組み込みのサポートがあり、デリゲートとしてリストされています。

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

Edit:言及しておくべきでしたが、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

しかし今、open-jpeg-2.0.0を「ピックアップ」するようにImageMagickを設定するにはどうすればよいですか? ImageMagickをソースから再構築する必要がありますか?または、ImageMagickを有効にするために入力できるコマンドはありますか?または、変更する必要があるファイルなどですか?

私は何年もこれを調べ、オンラインで多くのQ&Aを読みましたが、それでもクラックしませんでした。これはImageMagick自体とは関係なく、Linuxの知識の問題です。欠落しているステップはこちらです。ありがとうございました。

11
arokath

Imagemagickでopenjp2委任を有効にするという問題を解決しました。

必ずインストールしてください:

./configureを起動すると、openjp2委任が表示されます。

デリゲート= mpeg jbig jng jpeg lcms lzma openjp2 png tiff zlib

2
Arnaud

@arokathあなたのように、apt-get(Ubuntu 16.04.1 LTS)でインストールしたImageMagickのバージョンでjp2サポートを見つけることができませんでした。

ソースからビルドする前に( ImageMagick docs に従って)、最初にlibopenjp2-toolsをインストールし、次にlibopenjp2-7-devをインストールしました。

:誰がトリックをしたのかわかりません:configureの最後のアルファベット順の要約は_ [SOME_CODEとしてjp2サポートをリストしましたOpenJP2ではなく、JP2をインストールして再構成するまで気づかなかったlibopenjp2-7-devではありません。最初のライブラリのみで動作する可能性は十分にあります。

./configuremake、およびmake installに加えて、(ドキュメントで提案されているように)「動的リンカーを構成する」必要があることがわかりました:Sudo 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
1
user3294778

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

このパッケージには、いくつかの形式間の変換を可能にするコマンドラインツールが用意されており、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を作成します。
  • frames_to_mj2:YUVビデオストリームをmj2形式に変換します。
  • mj2_to_frames:mj2ビデオストリームをYUV形式に変換します。
  • wrap_j2k_in_mj2:j2kコードストリームをmj2形式にラップします。
  • extract-j2k-from_mj2:mj2形式からj2kコードストリームを抽出します。
1
Bora M. Alper

Ubuntu 16.04リポジトリからImage Magick 6.8.9.9をデフォルトでインストールしたところ、Jpeg200(.jp2)が完全にサポートされているようです。

変換は次の方法で実行できます。

convert in.png out.jp2
convert in.jp2 out.jpg

コマンドラインオプションの場合は特に。エンコードオプションまたはタイル化された画像の処理については、 Image Magickオンラインドキュメント を参照してください。

ただし、jp2はサポートされている形式のリストにリストされていないことを言う必要があります。

identify -list format

それにもかかわらず、どうやらそれでもうまく機能しているようです。

1
Takkat