![]() |
OpenCV 4.12.0
開源計算機視覺
|
此取樣器基於粒子濾波。 更多...
#include <opencv2/tracking/tracking_internals.hpp>
類 | |
| 結構體 | Params |
| 此結構包含可在取樣演算法過程中變化的所有引數。下面是公開的結構,以及其成員的簡要解釋,參考了上面關於演算法工作的討論。 更多... | |
公共成員函式 | |
| TrackerSamplerPF (const Mat &chosenRect, const TrackerSamplerPF::Params ¶meters=TrackerSamplerPF::Params()) | |
| 建構函式。 | |
從 cv::detail::tracking::TrackerContribSamplerAlgorithm 繼承的公共成員函式 | |
| virtual | ~TrackerContribSamplerAlgorithm () |
| 解構函式。 | |
| String | getClassName () const |
| 獲取特定 TrackerContribSamplerAlgorithm 的名稱。 | |
| virtual bool | sampling (const Mat &image, const Rect &boundingBox, std::vector< Mat > &sample) CV_OVERRIDE |
| 從影像中的位置計算區域。 | |
從 cv::detail::tracking::TrackerSamplerAlgorithm 繼承的公共成員函式 | |
| virtual | ~TrackerSamplerAlgorithm () |
保護成員函式 | |
| bool | samplingImpl (const Mat &image, Rect boundingBox, std::vector< Mat > &sample) CV_OVERRIDE |
從 cv::detail::tracking::TrackerContribSamplerAlgorithm 繼承的保護成員函式 | |
附加繼承的成員 | |
從 cv::detail::tracking::TrackerContribSamplerAlgorithm 繼承的靜態公共成員函式 | |
| static Ptr< TrackerContribSamplerAlgorithm > | create (const String &trackerSamplerType) |
| 透過跟蹤器取樣器型別建立 TrackerContribSamplerAlgorithm。 | |
從 cv::detail::tracking::TrackerContribSamplerAlgorithm 繼承的保護屬性 | |
| String | className |
此取樣器基於粒子濾波。
原則上,可以將其視為執行某種最佳化(實際上,此跟蹤器使用 OpenCV 的 optim 模組),其中跟蹤器試圖在給定的幀中找到與初始矩形(透過建構函式給定的矩形)最“相似”的矩形。
執行的最佳化是隨機的,並且在某種程度上類似於遺傳演算法,其中在接收到的每個新影像(透過 TrackerSamplerPF::sampling() 提交)時,我們從 boundingBox 界定的區域開始,然後生成幾個“擾動”框,選取與原始框最相似的框。此選擇輪次重複多次。最後,我們希望只剩下最有希望的框,並將這些框組合起來以生成影像的子矩形,該子矩形作為陣列 sample 中的唯一元素。
應該注意的是,兩個矩形之間“相似度”的定義是基於比較它們的直方圖。實驗表明,如果假定目標強烈改變其尺寸,則跟蹤器不是非常成功。
| cv::detail::tracking::TrackerSamplerPF::TrackerSamplerPF | ( | const Mat & | chosenRect, |
| const TrackerSamplerPF::Params & | parameters = TrackerSamplerPF::Params() ) |
建構函式。
| chosenRect | 初始矩形,應該包含我們想要跟蹤的目標。 |
| parameters |