ImageMagick内部入門第十三回 modulate 変調

146 Views

March 17, 24

スライド概要

profile-image

バイナリはともだち。こわくないよ

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

ImageMagick 内部入門 第十三回 (modulate ‒ 変調) 2024/03/01(金) “よや” <yoya@awm.jp>

2.

内部⼊⾨シリーズ • (第⼀回) 全体構成 • (第⼆回) データ構造 • (第三回) 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

3.

modulate と⾊の三属性 • ⾊の三属性(明度/彩度/⾊相)で調整する機能 % magick in.jpg –modulate <l>[,<s>[,<h>]] out.jpg • 100 で変化無し。0〜200 で指定する • ⾊相 • 明度 • 彩度 (c) https://creators-factory.com/colordesign/

4.

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

5.

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

6.

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

7.

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

8.

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

9.

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 だと アニメーションします

10.

Hue の実験 (並べてみる)

11.

三属性でデモ Powerpoint だと アニメーションします 明度 彩度 色相

12.

(c) https://twitter.com/pianocurve/status/1441513696295936002 Powerpoint だと アニメーションします

13.

三属性にも⾊々ある • HSL, HSV (c) https://en.wikipedia.org/wiki/HSL_and_HSV

14.

三属性にも⾊々ある • Lab/Luv 系。 (c) https://www.konicaminolta.jp/instruments/knowledge/color/section2/02.html

15.

Define はこの2つ • -define modulate:colorspace=<colorspace> • magick ‒list colorspace の⼀覧のうち三属性相当のもの • -define color:illuminant=<illuminant> • Magick ‒list illuminant の⼀覧のどれか • modulate:colorspace が LCHab|LCHuv|LCH のどれかに有効

16.

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

17.

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

18.

おわり