ImageMagickでCMYKの色分離をする

shuzo-kino.hateblo.jp
で企んでいたことが目途がある程度たってきたので、メモ。

ちょっと前にOpenCVでやってみましたが、
方向転換して伝統と実績のImageMagickをつかって、色判定をやっていこうと思います。

まずは色分離から。

実際のところ

機体はRasPi 3B+、カメラは何度かでてきたWaveshare社OV5648USBカメラです。

$ convert --help
Version: ImageMagick 6.9.10-23 Q16 arm 20190101 https://imagemagick.org

撮影。
OV5648のオートフォーカスを活かすため、12フレーム露光してから撮影します。

$ fswebcam -r 1920x1080 -S 12 -F 2 tmp.png

すると、こんな絵がとれます。
f:id:shuzo_kino:20201003223926p:plain

これにパイプでImageMagickのconvertコマンドをつかい、フィルタリングしていきます。
今回欲しいのは赤系の色なので、カラースペースをCMYK、チャンネルをM(マゼンタ)に設定。

$ fswebcam -r 1920x1080 -S 12 -F 2 - | convert - -colorspace CMYK -channel M -separate tmp_M.png

その画像はこんな塩梅。
マゼンタが強いところが白、段階的に薄くなっていくのがわかります。
f:id:shuzo_kino:20201003223617p:plain

参考もと

www.imagemagick.org