記事一覧

imagemagickで高品質画像拡大

lifehackerのサイトで紹介されている、画像拡大を繰り返したあとにシャープにする方法を
https://www.lifehacker.jp/2017/02/170204_20170204_picture_size.html
自動でやってみましょう。

最新版は一番下へ!

Linux上のbashとImageMagickというコマンドツール集で一発
cascon.sh
convert -filter catrom -resize 105% "$1" tmp1.tiff
for a in `seq 1 30`
do
mogrify -filter catrom -resize 105% tmp1.tiff
done
convert -sharpen 0x2 tmp1.tiff "$2"


$ bash cascon.sh input.jpg output.png
105%を31回で1.05の31乗だから4.53倍の画像になります。
ディープラーニング以前のプログラムを繰り返し使うことで、それよりも遥かに早く、結果を得ることができ、
ディープラーニングとちがい、「お絵描き」みたいになりません。
出力ファイルを見てそのまんまピントがすこしボケた写真だなぐらいにみえる精度はあります。
外部に漏らしたくない画像を拡大するときにうってつけでしょう。
文書の場合は、拡大したあとにSmartDeblurというプログラムが処理が重たいものの、断然読みやすくなるはずです。
なおJPEG特有のノイズは対処が難しい。自動化処理で解決すると髪の毛が絵になってしまう。
この記事が好評であればコマンドラインツールをあらたに作ったり、Windows用のプログラムも用意するかもしれません。

2017/10
GIMP 2.8.22で画像拡大アルゴリズムがどうも大幅に進化しているようでこのスクリプトが要らなくなった。唯一必要なのがジャギーの痕跡が目立つ場合です。

2018/02 2つの画像拡大アルゴリズムで互いの欠点を補う。この効果は目を見張る。色も正しくなりました。倍率は5.01倍
2018/02/04 フィルターを変更 わずかにもう少しなめらかになった
TEMPFILE=`mktemp --suffix=.tiff`
convert -enhance "$1" "${TEMPFILE}"
for i in ` seq 117 118 | tac `
do
mogrify -filter spline -resize "${i}"% "${TEMPFILE}"
done

for j in ` seq 101 117 | tac `
do
mogrify -filter Lanczos -resize "${j}"% "${TEMPFILE}"
done

convert "${TEMPFILE}" "$2"
rm "${TEMPFILE}"

はい。できる限りのことはやりました。JPEGのノイズもSplineのぼかしで消えてくれます。
きっと これは違うと思えるはずです。それも二次元の画像で。
多分描線の筆さばきまで見えてくるよう感覚だと思います。
スポンサーサイト

コメント

コメントの投稿

非公開コメント

プロフィール

トロポサイト

Author:トロポサイト
社会の落ちこぼれ。
皆がよくできることはへたくそ。
だれもやろうともしないことは、できる。

多く見られた記事

検索フォーム