ImageMagickでdeskewする時の値はなぜ40%なのか

カテゴリ: 未分類 | タグ: , ,

ImageMagickでは-deskewオプションで画像の自動傾き補正できます。

deskewオプションについてネットの記事を調べてみると、大抵の場合は以下のように40%になっているのですがこれはなぜでしょうか?

convert -deskew 40% input.jpg output.jpg

-deskewオプションが40%の理由

deskewの後のオプションはしきい値なのですが、ImageMagickの公式ドキュメントを見ると大抵の画像で40%がうまく動作する値ですとの記載があるためです。

-deskew threshold{%}
Straighten an image. A threshold of 40% works for most images.

deskew使用時に画像のサイズを維持したい場合

-deskewオプションは画像を回転させる都合、元画像と比べて画像の大きさ(縦横の画素数)が変わってしまいます。

変換後の画像でも大きさを維持したい場合は、-set option:deskew:auto-crop trueやgravity、cropなどのオプションを組み合わせて使うと良いです。

実行例

元ファイルが1595x2185のサイズになっている画像でテストします。

$ file input.jpg

input.jpg: JPEG image data, ...density 300x300, 1595x2185

この画像に対して、deskewだけしたファイルをoutput_off.jpgとして出力します。

# deskewだけ実施
convert -deskew 40% input.jpg output_off.jpg

deskewに加えてgravity centercropしたファイルをoutput_on.jpgとして出力します。

# auto-cropを有効にした上で、deskewして、元画像のサイズを指定して中央寄せで切り取り
convert -set option:deskew:auto-crop true \
        -deskew 40% \
        -gravity center -crop 1595x2185+0+0 \
        input.jpg output_on.jpg

作成されたファイルのサイズを見るとoutput_on.jpgの方は、元画像のサイズを維持していて、目視で見ても欠けがなく良好な結果でした。

output_off.jpg: JPEG image data, ...density 300x300, 1630x2211

output_on.jpg:  JPEG image data, ...density 300x300, 1595x2185

Amazonでおトクに買い物する方法
AmazonチャージでポイントGET


Amazonは買いもの前にAmazonギフト券をチャージしてポイントをゲットしないと損!

こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です