web-dev-qa-db-ja.com

一度に複数の写真をスキャンするにはどうすればよいですか

私たちの多くのように、私はスキャンしたい何千もの写真を持っています。私はこれを行うプロセスを考えていて、巨大なタスクを見てきました。私が特定した問題点の1つは、スキャンのために各画像をガラス上に個別に配置する必要があることです。
複数の写真をスキャンすると、個々の写真を自動的に識別して個別に保存することを提案するオープンソースソフトウェアがあるかどうか疑問に思います。私は現在HPPhotosmartプリンター/スキャナーを持っていますが、可能であればそれを利用したいと思います。

1
uSlackr

あなたが探しているソフトウェアprostprocessing機能は画像セグメンテーションと呼ばれています。少なくともLinuxでは、今のところ適切な解決策はわかりません。 (ただし、ImageMagickに基づく概念実証 segment_image スクリプトがあります– 参照 。)

写真をスキャナーに自由に配置する場合、自動セグメンテーションとデスキューが必要になりますが、どちらも利用可能なフリーソフトウェアでは難しいようです。多くの場合、手動の後処理が必要です。さらに、多くのスキャナーには、(0,0)ピクセルがガラスの角から数ミリメートル離れているという厄介な特性があり、写真をエッジに配置するとトリミングが発生します。

では、これはどうですか?

提案された代替案:テンプレートを使用したスキャン、Image Magickを使用した分割

  1. スキャナーガラスに配置するために、いくつかの写真の切り欠きを備えたいくつかのボール紙テンプレートを作成します。いくつかのヒント:

    • テンプレートをスキャナーグラスに配置して移動できないようにし、必要に応じて1つのエッジにテーピングします。
    • 写真はいくつかの標準サイズになるので、いくつかのテンプレートで十分です。
    • 写真でカバーできるようにテンプレートを作成します。これは、それらを90度回転させ(以下のコマンドをスキャンすることで自動修正される)、異なるサイズの写真を組み合わせることを意味する場合があります。
    • 写真で覆われている領域は長方形で、写真で覆われていないスペースはできるだけ少なくする必要があります。そのスペースをスキャンすると、後で時間が無駄になるためです。
  2. スキャンする領域を定義します。すべての写真を含む長方形の領域である必要があります。オフセットとサイズを取得するには、たとえば XSane を使用してプレビューを作成し、スキャン領域を選択して、[ウィンドウ]→[詳細オプションを表示]で値を検索します。

  3. 写真のコラージュをバッチスキャンします。各写真のコラージュをそれぞれ1つの大きな画像ファイルとして保存したいが、バッチプロセスでそのような複数のコラージュをスキャンします。 Linuxの場合、私は scanimage このための--batchオプションが好きです-あなたはただ押すだけです Enter 次のスキャンを取得して保存します。 scanimage -Aを使用して、スキャン領域を制限するデバイス固有のオプションを見つけ、最後の手順で決定した値に設定します。

  4. 写真のコラージュを個々の画像に分割します。そのためにImageMagickを使用し、必要に応じて画像を回転させます。 Linuxでは、小さなシェルスクリプトで、同じ段ボールテンプレートでスキャンされたすべての画像に対してこれを実行できます。このように、collage-001.jpgcollage-002.jpgなどの名前のファイルを処理します:(注意、テストされていません!

    for file in collage-*.jpg; do
      convert "$file" \
        -crop '1000x1500+0+0' -rotate 90 +write ${file/.jpg/.img1.jpg} \
        -crop '1000x1500+1000+0' -rotate 90 +write ${file/.jpg/.img2.jpg} \
        null:;
    done
    

    出典: この回答 、これには、メモリに収まらない画像のテクニックが追加されています。 この投稿null:を説明する; -crop-rotate および + write のドキュメント。

別の方法:XSaneバッチスキャン。XSane のバッチスキャン機能も使用してみました。これにより、ページごとに複数のスキャン領域を定義できます(「ウィンドウ→バッチスキャンの表示」を参照)。スキャン領域ごとの回転オプション。したがって、段ボールのテンプレートごとに1つのスキャン領域定義セットを作成(さらには保存)し、[スキャンバッチリスト]を押し​​てテンプレートから複数の画像を取得できます。ただし、画像のセットが大きい場合、1つのスキャン領域を処理した後、スキャナーがゼロ位置に戻るため、これははるかに遅くなります。 (少なくともそれは私のスキャナーで起こります。SANE機能がこのゼロに戻るステップを回避できるスキャナーがあるかどうかはわかりませんが、私はそれを疑っています。)

2
tanius

多くのスキャナーとオールインワンデバイスにこの機能があります。私は買い物の提案をしたくありませんが、エプソン、コダック(まだ周りにあります)とHPでのクイック検索があなたに方向性を与えるかもしれません。通常、フラットベッドに複数の写真を置くことができ、ソフトウェアが個々の画像を分類します。ドキュメントフィーダーを備えたユニットもあります

コメントに記載されているように、いくつかのソフトウェアオプションがあるようです。 Photoshopでは、複数の写真をスキャンしてから分離することができます。この Photoshopスキャン リンクで詳細に説明されています。 Photoshopは、画像を個別に操作するのにも優れているという利点が追加されました。 Photoshop Elementsは、同様の機能と低コストを備えていると思われます Elements

他にもたくさんの解決策があるはずです

1
Dave M