mieki256's diary



2026/03/24(火) [n年前の日記]

#2 [gmic][imagemagick] gmicとImageMagickを繋げる

コマンドラインで画像処理ができるツール、ImageMagick の convert (magick convert) も、標準入力や標準出力を利用することができるらしい。

下記の例では、convert が標準入力から受け取った画像データにガウシアンぼかしをかけて標準出力に送っている。
cat input.png | convert - -gaussian-blur 10x10 - | py view_stdin.py


ベタデータを扱う際は、.raw の指定が使える模様。ただ、ベタデータは、画像サイズ、チャンネル毎の深さ、チャンネル数(RGB/RGBA)の情報を持っていないので、それらは別途指定しないといけない。
convert lena.png rgb:-.raw | convert -depth 8 -size 512x512 rgb:-.raw out.png

gmicとの連携 :

gmic と組み合わせてみたけれど…。

gmic sp tiger o -.raw | convert -depth 8 -size 750x500 rgb:- out.png

変な画像になってしまった。RGBチャンネルが順に並んだ白黒画像になっているように見える。

gmic と ImageMagick は .raw の画像データの並びが違っていて、そのせいで gmic の出力結果を ImageMagick側で正しく処理できないらしい。
  • gmicは、RRRRRR,GGGGGG,BBBBBB の並びになっている。
  • ImageMagick は、RGB,RGB,RGB,RGB... の並びになっている。

gmic 側に permute cxyz を指定することで、ImageMagick 側と同様のデータの並びに変更することができる模様。

以下の指定で、gmic が内蔵しているサンプル画像 tiger が再現された。
gmic sp tiger permute cxyz o -.raw | convert -depth 8 -size 750x500 rgb:- out.png


convert (ImageMagick)側の最後の出力を標準出力にしてみる。
gmic sp tiger permute cxyz o -.raw | convert -depth 8 -size 750x500 rgb:- png:- | py view_stdin.py
  • png:- と記述することで、標準出力に pngフォーマットで送るという指示になる。


ImageMagick側でガウシアンぼかしをかけてみる。
gmic sp tiger permute cxyz o -.raw | convert -depth 8 -size 750x500 rgb:- -gaussian-blur 10x10 png:- | py view_stdin.py

以上です。

過去ログ表示

Prev - 2026/03 -
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project