pacman
Arch LinuxにはImageMagickがインストールされています。それでは、次のように2つの画像を結合しようとしています。
convert \( -size 1x1 xc:black \) \( -size 1x1 xc:black \) -composite out.png
ただし、CPU負荷が100%のときに停止します。で殺す必要があります^C
。ご覧のように、2つの1x1ピクセルのメモリイメージを合成しようとしているので、入力イメージのサイズや他のものとは何の関係もありません。 ImageMagickバージョン:
$ convert --version
Version: ImageMagick 6.9.1-2 Q16 x86_64 2015-05-19 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: DPC HDRI Modules OpenCL OpenMP
Delegates (built-in): bzlib cairo fontconfig freetype gslib jng jp2 jpeg lcms lqr ltdl lzma pangocairo png ps rsvg tiff webp wmf x xml zlib
答え1
明らかに、これはマルチスレッドサポートを提供し、基本的にImageMagickでコンパイルされるライブラリであるOpenMPの既知の問題です。
この問題を解決するために、ImageMagickのソースコードをダウンロードして抽出しました。
wget ftp://ftp.imagemagick.org:21/pub/ImageMagick/ImageMagick-6.9.1-2.tar.gz -O - | tar xzv
次に、次のようにコンパイルします。
cd ImageMagick-6.9.1-2
./configure --disable-openmp
make
sudo make install
私のバージョンは次のとおりです。
$ /usr/local/bin/convert --version
Version: ImageMagick 6.9.1-2 Q16 x86_64 2015-05-24 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: DPC
Delegates (built-in): bzlib fftw fontconfig freetype jng jpeg lcms lqr lzma pangocairo png tiff webp x xml zlib
ついに働いた。停止が停止し、直ちに所望の出力が生成された。