d.sunnyone.org
sunnyone.org

ページ

2012-08-15

ImageMagickで本文ボールド化(改良版)

ImageMagickで「本文ボールド化」っぽいことをするで一応ボールド化できるようになったのだけど、threshold で、重ねる画像(レイヤー)を2値化してしまっているせいで、白黒でスキャンしたときのようなでこぼこが目立つようになってしまった。そこで改良してみた。

改良版はこちら。


改良点は、-thresholdによる2値化をやめ、画像の重ね方を「Multiply」(いわゆるレイヤーの「乗算」)にした。あと、アルファチャネルの作成をやめた。

以前のコマンドは、-thresholdを使わずに+compositeで重ねると、色が濃くなるどころか、かえって薄くなるケースがあったため(重ねた部分が優先されるため)に、黒いところを黒くするために使っていた。しかし、乗算にすれば、どちらかが黒ければ黒くなるので、そうすることにした。(ざっくりたとえば0.2 × 0.2 = 0.04なので、黒くなるという感じ。)
参考:ImageMagick v6 Examples -- Compositing Images


アルファチャンネルの作成も、重ね合わせの処理前にレベル補正をきちんとやっておけば問題なかったのでなくした。逆に、レベル補正しない状態では、アルファチャンネル使うverだと、効果が若干弱くなるものの、ハイライト部分が黒っぽくなることが避けられる感じなので、レベル補正がちゃんとできないようなケースでは、前回と同じく、アルファチャネルにレベルをコピーして乗算したほうがいいかもしれない。

細かいところではほかにも-geometryを-rollにしているが、これは-rollが絵を動かすためのオプションだったので、名前を変えただけ(別に-geometryでも動く)。


この本文ボールド化の効果は、コマンドではわかりづらいので、絵も乗せておく。
(下の絵は、コマンドで処理したのち、画像エディタで切り出し、400%に拡大したもの。)

リサイズ/グレースケール化のみ

convert input.jpg -modulate 100,0 -geometry 650x700 output.jpg


薄い感じ。

+レベル補正/ガンマ補正

convert input.jpg -modulate 100,0 -level 10%,90% -gamma 0.5 -geometry 650x700 output.jpg

結構よくなる。これでもいいかも。ガンマ補正がかなり有効。


+本文ボールド化

convert input.jpg 
  -modulate 100,0   # 色を飛ばす
  -level 10%,90%    # レベル補正
    '(' +clone      # 画像をコピー
        -roll +0+1  # 縦に1pixelずらす
      '(' +clone    # 画像をコピー
        -roll +1-1  # 縦に1pixel戻して、横に1pixelずらす
      ')' +composite -compose Multiply # 縦にずらしたものと、横にずらしたものを乗算で重ねる
    ')' +composite -compose Multiply   # 元の画像と、ずらしたものを乗算で重ねる
  -gamma 0.5        # ガンマ補正
  -geometry 600x750 # サイズ変更
  output.jpg


さらに文字を太く。

0 件のコメント:

コメントを投稿