简体   繁体   English

CvTrack和CvBlob有什么区别?

[英]What's the difference between CvTrack and CvBlob?

我们在程序中使用结构cvtrack和cvblob进行斑点检测,但由于这两种类型的结构成员相同,因此我无法找到这两种结构之间的差异。

You can use cvBlob to detect and draw figures defined by contours (blobs). 您可以使用cvBlob检测和绘制轮廓(斑点)定义的图形。 then you can track them, from one frame to another. 然后您可以从一帧到另一帧跟踪它们。 For this you use cvTracks , which gives you a label and a lifetime. 为此,请使用cvTracks ,它为您提供标签和有效期。 you can give also a lifetime limit (if the blob is not detected in one frame, it is saved for a couple of frames in order to detect it again if it appears again, if the lifetime pass, it is removed and cosidered a new blob if it is detected again). 您还可以指定一个生命周期限制(如果在一帧中未检测到斑点,则将其保存两帧,以便再次出现时对其进行检测,如果超过了寿命,则将其移除并放置一个新斑点如果再次检测到)。 Then in some implementations you have a lifetime limit for being active (it does the opposite, after it is active a couple of frames, it is considered a new blob). 然后,在某些实现中,您有活动的生命周期限制(相反,在活动了几个帧之后,它被视为新的Blob)。 You can see an example here . 您可以在此处查看示例。

There are two different blobs libraries with similar names: CvBlobsLib and cvblob 有两个具有相似名称的不同blob库: CvBlobsLibcvblob

In cvblob (version 0.10.4), the CvTrack struct is similar but not identical to CvBLob . 在cvblob(0.10.4版), CvTrack结构是相似但不相同于CvBLob CvTrack has these members that are not present in CvBlob : CvTrack具有这些在CvBlob中不存在的CvBlob

unsigned int    lifetime
// Indicates how much frames the object has been in scene.
unsigned int    active
// Indicates number of frames that has been active from last inactive period.
unsigned int    inactive
//Indicates number of frames that has been missing. 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM