2012-01-02 3 views
0

WIAを使用してスキャナADFから画像をスキャンするスキャナプログラムを作成しました。それはうまく動作しますが、フラットベッドから複数の画像をスキャンすることもできます。スキャンからイメージを抽出する方法。画像の中の画像を見つけるにはどうすればいいですか?

イメージがフラットベッド上のどこにあるかをどのように伝えますか?私はスキャンしたイメージを切り抜く場所を知る必要がありますが、イメージがスキャンされたイメージのどこにあるのかわからず、切り抜くことはできません。

私はグーグルを検索しましたが、私が見つけたのはイメージを比較すること、またはイメージが別のイメージなどに存在するかどうかを確認することです。それはもちろん私が探しているものではありません。私はフラットベッドの任意の画像とすべての画像の位置を見つけることができるようにしたいので、それぞれを個別にループして保存することができます。

プログラムはC#で書かれています。

答えて

0

アルゴリズム: 重複しない矩形のセットから個々の画像を選択するエッジ検出器を使用してフィルタを構築することは可能です。

私は次の方法を採用します:エッジ検出器でエッジのリストを取得します。それらを交差してループを形成するエッジの集合にフィルタリングし、そのループ内のエッジの数を4とする。別のループ内で発生するループをパージする。低品質のエッジを削除したい場合もあります(矩形の直線を探しているので、目的のエッジを見つけやすくなります)。

画像の境界のループのリストがあるので、何らかの基本的な処理(双線形アフィンblit)を実行して任意の位置ずれを変換してファイルに出力できます。

可能なライブラリ: 私はopencv.net、http://code.google.com/p/opencvdotnet/を見ています。

関連する問題