2013-10-12 36 views
1

我們在程序中使用結構cvtrack和cvblob進行斑點檢測,但是我無法找到兩種結構之間的差異,因爲兩種類型的結構成員都是相同的。CvTrack和CvBlob有什麼區別?

+0

在哪個OpenCV模塊中定義了CvTrack?我無法在OpenCV或Cvblobslib中看到它。 – Bull

+0

CvTrack僅在Cvblobslib中定義。你可以在/usr/local/include/cvblob.h頭文件中檢查它的代碼。 – user2874456

+0

我認爲你必須使用cvblob庫,而不是cvblobslib(它沒有cvblob.h) – Bull

回答

0

有兩種不同的斑點庫具有類似名稱:CvBlobsLibcvblob

在cvblob(0.10.4版),CvTrack結構是相似但不相同於CvBLobCvTrack具有這些部件中不存在在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. 
+0

我明白了。此外,我想知道CvTrack結構在程序中的作用。你能告訴我那個嗎? – user2874456

1

可以使用cvBlob檢測和繪製由輪廓(斑點)中所定義的數字。那麼你可以從一幀到另一幀來追蹤它們。爲此,您使用cvTracks,它給你一個標籤和一生。你也可以給它一個生命週期的限制(如果在一幀中沒有檢測到斑點,它會被保存幾幀,以便再次檢測到它,如果它再次出現,如果壽命通過,它被移除並且考慮一個新的斑點如果再次檢測到)。然後在一些實現中,你有一個活躍的生命期限制(它相反,在活動幾幀後,它被認爲是一個新的blob)。你可以看到一個例子here