Python-OpenCV 處理視訊(三): 標記運動軌跡

發表於2016-05-26

0x00. 光流

光流是進行視訊中運動物件軌跡標記的一種很常用的方法,在OpenCV中實現光流也很容易。

CalcOpticalFlowPyrLK 函式計算一個稀疏特徵集的光流,使用金字塔中的迭代 Lucas-Kanade 方法。

簡單的實現流程:

  1. 載入一段視訊。
  2. 呼叫GoodFeaturesToTrack函式尋找興趣點。
  3. 呼叫CalcOpticalFlowPyrLK函式計算出兩幀影象中興趣點的移動情況。
  4. 刪除未移動的興趣點。
  5. 在兩次移動的點之間繪製一條線段。

程式碼示例:

直接呼叫攝像頭使用該方法:

0x01. 尋找最大特徵值的角點

cv.GoodFeaturesToTrack 函式可以檢測出影象中最大特徵值的角點,使用這個函式可以對影象中的特徵點進行跟蹤,從而繪製出運動軌跡。

直接載入視訊:

呼叫攝像頭繪製:

相關文章