どせいたんさき。

ナスダヨー

convert でもぼやかさないで拡大したい!

目的

画像を unblurred で拡大したい.通常 -resize-geometry といったオプションで画像の拡大を行うとピクセル間を補間して拡大するため画像がぼやける.ドット絵などを拡大する場合には向かない.

解決方法

-sample を使えばいいらしい.もともと 13×13 ピクセルの画像を以下のように 3 つの方法で拡大する.それぞれの結果を左から順番に並べたものが下の画像である.

convert test.gif -resize 3000% test_resize.gif
convert test.gif -interpolate integer -interpolative-resize 3000% test_interpolate.gif
convert test.gif -sample 3000% test_sample.gif

convert test_*.gif +append test_append.gif

真ん中の -interpolative-resize はわりといい線をいっていたけど常に左上のピクセルを基準とするというアルゴリズムのせいで画像が全体的にずれている.というわけで unblurred で拡大したい場合は -sample を使えばよさげ.

追記

-scaleでも同じことができるみたい.