2

这是一个令人尴尬的愚蠢问题,但我找不到课程。我正在开发一个运动跟踪应用程序来计算经过建筑物的汽车并注意它们的颜色。我正在使用EmguCV ,这是一个围绕OpenCV的 .Net 托管包装器。

在 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 回答