web-dev-qa-db-ja.com

スキャンした写真のエッジの垂直性を自動的に復元します

カラーと白黒の両方の長方形の写真のコレクションをスキャンしたいと思います。私は一般的にスキャンに非常に満足していますが、写真が手作業で配置され、スキャンキャンバス(またはスキャナーの端)とうまく位置合わせされていない可能性があるため、いくつかの実用的な問題が発生します

私の写真は、必要な長方形の画像を含む白い背景の長方形にスキャンされたと思います。おそらく、白い長方形のエッジと位置合わせされていません。

画像の端が水平/垂直になるようにスキャンを自動的に回転できるアプリケーション(できればLinuxで実行されている)はありますか?周囲の白い背景も切り取られる場合は、さらに優れています(ただし、適切なUnixデザインでこの問題を分離できます)。

私はGimpを使って手でそれを行う方法を知っており、目で回転をチェックしています。でも自動でやってもらいたいです。

実際の画像で物事を明確にするために:下の最初の画像に不規則な白い境界線がある場合、周囲の白なしで2番目の画像を自動的に抽出したいと思います。

enter image description hereenter image description here

注:最初の画像のエッジを表示するには、破線を追加する必要がありました。自動抽出のために提案されたソリューションをテストしたい場合は、むしろ この画像 を使用する必要があります。

2
babou

あなたが探しているように聞こえます ImageMagick 。これは通常、より人気のある多くのディストリビューションとともにデフォルトでインストールされます。そうでない場合は、ディストリビューションパッケージマネージャーを使用してインストールできます。

通常の画像回転

$ Sudo yum install ImageMagick

-or-

$ Sudo apt-get install ImageMagick

ImageMagickには多くのCLIツールが含まれており、そのうちの1つはconvertです。 convertを使用すると、次のように画像を回転できます。

$ convert -rotate "90" in.jpg out.jpg

converthere の使用例は他にもたくさんあります。 ImageMagickに含まれている残りのツールは、画像の編集、スケーリング、および注釈付けを行うことができます。

デスキューイング

通常、垂直方向または水平方向に少しずれている画像を回転させるもう1つの方法は、デスキューと呼ばれます。

ImageMagickオンラインコマンドラインオプションヘルプ から:

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

Use -set option:deskew:auto-crop true | false to auto crop the image.

このオプションを使用するには、ImageMagicksCLIツールのもう1つであるconvertCLIツールを使用します。

 $ convert skewed.jpeg -deskew 40% not_skewed.jpg

参考文献

1
slm

最近、フィルムカメラで作成した500枚以上の写真のセットをデジタル化する必要がありました。そして、それらすべてを自動トリミングおよび自動回転する必要がありました。

私にとってよりうまく機能したパラメータ:

convert myFile.jpg -fuzz 30% -trim +repage -deskew 40% cropped_file.jpg

そしてここでそれをフォルダ全体に適用したい場合:

mkdir cropped
for i in `ls *.JPG`; do convert $i -fuzz 30% -trim +repage -deskew 40% cropped/`basename $i JPG`jpg; done
0
Kostanos