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

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

カラーとモノクロの長方形の写真セットをスキャンしたいです。スキャンは全体的に非常に満足していますが、写真を手動で配置し、スキャンキャンバス(またはスキャナーの端)とうまく位置合わせできない可能性があるため、いくつかの実質的な問題が発生しました。

私は私の写真が私が望む長方形の画像を含む白い背景の長方形としてスキャンされたと仮定しています。おそらく、白い長方形の端と整列していないでしょう。

写真の端が水平/垂直になるようにスキャンを自動的に回転できるアプリケーション(Linuxで実行するのが良い)はありますか?周囲の白い背景もクリッピングすると良いでしょう(適切なUnixデザインでこの問題を解決することはできますが)。

私は目で回転を確認しながら、Gimpを使って手動でこれを行う方法を知っています。しかし、私はそれが自動的に行われたいと思います。

実際の画像をより鮮明にするには、下の最初の画像に不規則な白い境界線があるので、周囲に白のない2番目の画像を自動的に抽出したいと思います。

ここに画像の説明を入力してください。               ここに画像の説明を入力してください。

注:最初の画像の端を表示するために点線を追加する必要がありました。自動抽出のために提案されたソリューションをテストするには、次の手順を実行する必要があります。 この画像を使用してください

答え1

探しているようですね。イメージマジシャン。これは通常、より広く使用されているディストリビューションにデフォルトでインストールされます。それ以外の場合は、ディストリビューションのパッケージマネージャを使用してインストールできます。

通常の画像の回転

$ sudo yum install ImageMagick

-or-

$ sudo apt-get install ImageMagick

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

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

より多くの活用事例がありますconvert ここ。 ImageMagickに含まれている残りのツールを使用すると、画像の編集、サイズ変更、およびコメントを追加できます。

校正

垂直または水平にわずかに傾斜した画像を回転させる別の方法は、傾斜補正と呼ばれます。

~から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.

convertこのオプションを使用するには、別のImageMagicks CLIツールであるCLIツールを使用する必要があります。

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

引用する

答え2

私は最近、フィルムカメラで撮影した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

答え3

読書としてこのブログ投稿、私が見つけたこのbashスクリプトそれを使うイメージマジシャン:ダウンロードchmod +xしたら、次のようにスキャンした写真を回転して切り取ることができました。

multicrop -c 50,50 -f 40 -d 50 scanned_photo_in.jpg extracted_photo_out.jpg
  • -c 50,50背景色は50,50のピクセルで検出されます(デフォルトは0,0)。
  • -f 40「分離された背景色のパーセンテージで表されるぼかし値」です(デフォルトは10)。
  • -d 50このサイズより幅や高さが小さい領域はすべて削除されます。 (デフォルトは何も削除しないことです。)

以下は、現在のフォルダのjpgファイルに対してこのコマンドを実行し、抽出した写真をサブフォルダextractedに配置するbashスクリプトです。

mkdir extracted; for PHOTO in *.jpg; do multicrop -c 50,50 -f 40 -d 50 $PHOTO extracted/$PHOTO; done

関連情報