226 Views
March 17, 24
スライド概要
ImageMagick 内部入門 第十三回 (modulate ‒ 変調) 2024/03/01(金) “よや” <[email protected]>
内部⼊⾨シリーズ • (第⼀回) 全体構成 • (第⼆回) データ構造 • (第三回) Magick API 〜 MagickWand / MagickCore • (第四回) 画像形式処理 〜 Coders と Delegate • (第五回) メタデータ • (第六回) システム設定 〜 policy.xml 等 • (第七回) 減⾊ • (第⼋回) ビットdepth 〜 depth 変換 • (第九回) 2値化 〜 threshold • (第⼗回) ディザリング 〜 組織 (拡散ディザは延期) • (第⼗⼀回) ICCプロファイル 〜 RGB ó CMYK ⾊空間 • (第⼗⼆回) ⾊フィルタ • (第⼗三回) ⾊modulate 〜 modulate (変調) ← ☜ 今回の話⭐ ⭐ ⭐ • (第⼗四回) Displace 〜 Displace map • (第⼗五回) 分散処理 〜 OpenMP, distribute-pixel-cache • (第N回) 各画像処理 (畳み込み、モルフォロジー) 〜 ImageList, ImageInfo 〜 xmp, profile 〜 ColorCube 〜 Colorize ColorMatrix
modulate と⾊の三属性 • ⾊の三属性(明度/彩度/⾊相)で調整する機能 % magick in.jpg –modulate <l>[,<s>[,<h>]] out.jpg • 100 で変化無し。0〜200 で指定する • ⾊相 • 明度 • 彩度 (c) https://creators-factory.com/colordesign/
modulate のパラメータ • ⾊の三属性(明度/彩度/⾊相)で調整する機能 % magick in.jpg –modulate <l>[,<s>[,<h>]] out.jpg 100 で変化無し。0〜200 で指定する • 明度 % magick rose: –modulate 200 lumi.jpg • 彩度 % magick rose: –modulate 100,200 lumi.jpg • ⾊相 % magick rose: –modulate 100,100,200 hue.jpg
RGB <=> HSL • RGB => HSL (ここで値更新) => RGB に戻す ここで値 L,S(C),H の値を更新 (c) https://en.wikipedia.org/wiki/RGB_color_model https://en.wikipedia.org/wiki/HSL_and_HSV
modulate の luminant パラメータ • 明度を変更。100 で変化無し。0〜200 で指定する • 明るい % magick rose: –modulate 200 lumi-200.jpg • 無変化 • 暗い % magick rose: –modulate 100 lumi-100.jpg % magick rose: –modulate 0 lumi-0.jpg
modulate の satulate パラメータ • 彩度を変更。100 で変化無し。0〜200 で指定する • 鮮やか % magick rose: –modulate 100,200 satu-200.jpg • 無変化 • 淡い % magick rose: –modulate 100,100 satu-100.jpg % magick rose: –modulate 100,0 satu-0.jpg
modulate の hue パラメータ • ⾊相を変更。100 で変化無し。0〜200 で指定する • 180度回転 0 と 200 が同じで 分かりにくい % magick rose: –modulate 100,100,200 hue-200.jpg • 無変化 % magick rose: –modulate 100,100,100 hue-100.jpg • 180度逆回転 % magick rose: –modulate 100,100,0 hue-0.jpg
Hue の実験 (200枚で GIF) % for h in `seq -w 0 2 190` ; do convert rose: -sample 1000 -modulate 100,100,$h ¥ -fill white -gravity center -pointsize 128 -annotate 0 $h $h.png done % convert -delay 20 ???.png hue.gif Powerpoint だと アニメーションします
Hue の実験 (並べてみる)
三属性でデモ Powerpoint だと アニメーションします 明度 彩度 色相
(c) https://twitter.com/pianocurve/status/1441513696295936002 Powerpoint だと アニメーションします
三属性にも⾊々ある • HSL, HSV (c) https://en.wikipedia.org/wiki/HSL_and_HSV
三属性にも⾊々ある • Lab/Luv 系。 (c) https://www.konicaminolta.jp/instruments/knowledge/color/section2/02.html
Define はこの2つ • -define modulate:colorspace=<colorspace> • magick ‒list colorspace の⼀覧のうち三属性相当のもの • -define color:illuminant=<illuminant> • Magick ‒list illuminant の⼀覧のどれか • modulate:colorspace が LCHab|LCHuv|LCH のどれかに有効
modulate:colorspace • 指定した⾊空間で modulate 出来る % convert rose: -define modulate:colorspace=HSL –modulate 200,100,0 HSL.png % convert rose: -define modulate:colorspace=HSV –modulate 200,100,0 HSV.png
color:illuminant • LCH ⾊空間の illuminant を指定する % convert -list illuminant A B C D50 D55 D65 D75 E F2 F7 F11 % convert rose: -define color:illuminant=C -define modulate:colorspace=LCH ¥ –modulate 200,100, 0 LCH-C.png
おわり