2

これは恥ずかしいほどばかげた質問ですが、クラスが見つかりません。建物を通過する車を数え、その色に注意するモーション追跡アプリケーションに取り組んでいます。OpenCVの .Net 管理ラッパーであるEmguCVを使用しています。

EmguCV サンプルには、Emgu.CV.Example\VideoSurveilance私のアプリケーションの出発点として最適なアプリケーションがありますが、基礎となる OpenCV クラスを見て、それらがどのパラメータで動作するかを確認したいと思います。

EmguCV サンプル コードの簡単な行を次に示します。

_tracker = new BlobTrackerAuto<Bgr>();

じゃあ後で:

_tracker.Process(frame, forgroundMask);
foreach (MCvBlob blob in _tracker)
{

そのコードをEmguCV ソースEmgu.CV.VideoSurveillanceコードまでたどると、EmguCV コア プロジェクトの名前空間に次のコードが見つかります。

public void Process(Image<TColor, Byte> currentFrame, Image<Gray, Byte> foregroundMask)
{
    CvInvoke.CvBlobTrackerAutoProcess(_ptr, currentFrame.Ptr, foregroundMask == null ? IntPtr.Zero : foregroundMask.Ptr);
}

[DllImport(CvInvoke.EXTERN_LIBRARY, CallingConvention = CvInvoke.CvCallingConvention)]
internal extern static void CvBlobTrackerAutoProcess(IntPtr tracker, IntPtr pImg, IntPtr pMask);

したがって、OpenCV API リファレンスのどこかに のようなメソッドを見つけることができるはずCvBlobTrackerAutoProcessです。しかし、私はまったく関係があるものを見つけることができませんBlobTrackerAuto

では、これは OpenCV API 階層のどこに BlobTracker クラスがあるのか​​を尋ねる長々とした方法ですか?

4

2 に答える 2

1

対応するコードは @ https://github.com/Itseez/opencv/blob/master/modules/legacy/src/blobtrackingauto.cpp#L206です。ドキュメントで検索/リストされていないようです。コードをダウンロードして確認することをお勧めします。Emgu で公開されていないクラスが多数実装されています。

于 2013-10-14T13:06:35.887 に答える
1

CvBlobTrackerAuto はレガシー モジュールにありますが、CvBlobTrackerAutoProcess が表示されません。この質問は多少関連しています:レガシー ライブラリの openCV の CvBlobDetector はなぜですか?

于 2013-10-14T13:10:16.387 に答える