0.5 メートル x 0.5 メートルの正方形のセクションに分割された射撃ターゲット (4 メートル x 4 メートル) の 2 つの画像があります。画像は、焼成試験の前後に撮影されています。ターゲットには、発砲前にすでに弾痕があります。さらに、ターゲットの上または前にいくつかの混乱があります(ターゲットをまっすぐに保持するための固定ネジと鋼線)。すべての銃弾の穴が両方の画像に表示されていると仮定しましょう。前と後の画像を比較して、プログラムで銃弾の穴を特定するにはどうすればよいですか? ツールやライブラリ、またはアルゴリズムのステップを指定できますか?
1 に答える
考えられるアプローチは、次の手順で構成されます。
両方の画像を同じ角度から見られるように、画像登録を実行します。ここでは、あるビューを別のビューに関連付ける回転、スケーリング、平行移動の組み合わせを見つける必要があります。たとえば、関心のある一連のポイント (コーナーなど) から変換を決定するhttp://scikit-image.org/docs/dev/auto_examples/transform/plot_matching.html#example-transform-plot-matching-pyを参照してください。 . (回転は 2D だけでなく、画像の 3D で行われるため、必要な変換は例のものよりも少し複雑になる場合があります)。
画像を並べたら、さまざまなアプローチを試すことができます。そのうちの 1 つは、セグメンテーション法を使用して、両方の画像の穴を検出することです。穴が明るく見えるので、画像のしきい値処理 ( http://scikit-image.org/docs/dev/auto_examples/segmentation/plot_local_otsu.html ) を試して、数学的形態学 ( http:// www.scipy-lectures.org/packages/scikit-image/index.html#mathematical-morphology )。次に、後のターゲットの各穴に対して、前のターゲットの穴との一致を試みることができます。たとえば、前のターゲットで最も近い重心を選択し、穴の周りの特定のパッチ間の相互相関を計算します。 、2 つのイメージで。
scikit-image の例へのリンクをいくつか示しましたが、openCV はコンピューター ビジョンのリファレンス ライブラリとしてよく引用されます。