ImageMagickで服の色を変える

こんにちは岡野です。
現在開発中のプロジェクトで、服の色を変更する処理を実装したので紹介します(簡易的な方法です)。

環境

ImageMagick 6.9.12-59 Q8

手順

1. 元となる画像を用意します。例:Tシャツ ホワイト。
2. 例えばネイビーへ変更するとして変更前後の色についてRGBそれぞれの差分を計算します。
ホワイト: rgb(255, 255, 255)
ネイビー: rgb(32, 47, 85)
R: 32 - 255 = -223
G: 47 - 255 = -208
B: 85 - 255 = -170
3. ImageMagickのevaluate Addに差分の値を渡して色を変換します(Q16環境では各値を256倍します)。
convert src.png \
-channel R -evaluate Add -223 \
-channel G -evaluate Add -208 \
-channel B -evaluate Add -170 \
dest.png

まとめ

ImageMagickだけでも結構良い感じになりました。将来はAIで着色したいと思います。

その他

最近Zabbixでハマったことです。グラフ内の文字が出力されないため悩んでいたのですがopen_basedirの設定不足でした(zabbix_server.logに気をとられNginxのログに気づくのが遅れた)。何か問題があった際は落ち着かないとダメだと感じました。