-2

私はOpenCVの初心者です。ギアの回転速度を追跡するための小さなプロジェクトに取り組みたいと思います (ウェブカメラを使用)。しかし、これまでのところ、これに取り組む方法がわかりません。投稿された画像は、2 つの「大きな」歯車を含む機械を示しています。私が興味を持っているのは、左側のギアだけです (強調表示した赤い線)。

リンク

私の計画は次のとおりです。

  1. 関心のあるギア領域を抽出します。

  2. 無関係な領域をすべてマスクします。そのため、マスクされた画像には左ギアのみ (ROI) が表示されます。

  3. .....

    問題は、ROI を特定/抽出/マスクしてマスクするにはどうすればよいかということです。
    についていくつかの例を見ていきますcvMatchTemplate()が、回転とスケーリングはサポートされていません。ウェブカメラを使用しているため、キャプチャされた画像が拡大縮小または回転される場合があります。cvfindcontour()ROI ではなく、画像内のすべての輪郭を抽出します。

4

1 に答える 1

5

以前にギアを知っている場合は、その画像を使用して、SIFT、SURF、FAST、または任意のコーナー検出アルゴリズムを使用してキーポイントを抽出できます。次に、次のようにします。

1- すべてのフレームに FAST を適用して、キーポイントを検出します。

2- それらのキーポイントから SIFT 記述子を抽出する

3- シーン内で検出されたポイントを、以前に画像から抽出したポイントと一致させます。これには FLANN マッチャーを使用できます。

4- これらの一致により、探しているギアを含むシーン内の領域が定義されます。

これは簡単なことではないので、これらすべての関数を使用するには、OpenCV のドキュメントで情報を探す必要があります。

于 2012-08-22T07:39:49.970 に答える