这是一个令人尴尬的愚蠢问题,但我找不到一门课。我正在开发一个运动跟踪应用程序来计算经过建筑物的汽车并记下它们的颜色。我使用的是EmguCV,一个围绕OpenCV的.Net托管包装器。
在EmguCV示例中,有一个应用程序Emgu.CV.Example\VideoSurveilance
,这对于我的应用程序来说是一个很好的开端,但我想看看底层的OpenCV类,看看它们使用哪些参数。
下面是EmguCV示例代码中的一个简单行:
_tracker = new BlobTrackerAuto<Bgr>();
然后稍后:
_tracker.Process(frame, forgroundMask);
foreach (MCvBlob blob in _tracker)
{
将该代码追溯到EmguCV源代码中,我们在EmguCV核心项目中的Emgu.CV.VideoSurveillance
命名空间中找到以下代码:
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类在哪里?
发布于 2013-10-14 13:06:35
对应的代码是@ https://github.com/Itseez/opencv/blob/master/modules/legacy/src/blobtrackingauto.cpp#L206。它似乎无法在文档中搜索/列出。我建议你下载代码看看。有些已实现的类可能并非全部由Emgu公开。
https://stackoverflow.com/questions/19358873
复制相似问题