CamShift演算法,OpenCV實現(3):CamShift演算法

來源:互聯網
上載者:User
 1.原理
在瞭解了MeanShift演算法以後,我們將MeanShift演算法擴充到連續映像序列(一般都是指視頻映像序列),這樣就形成了CamShift演算法。CamShift演算法的全稱是"Continuously Apaptive Mean-SHIFT",它的基本思想是視頻映像的所有幀作MeanShift運算,並將上一幀的結果(即Search Window的中心和大小)作為下一幀MeanShift演算法的Search Window的初始值,如此迭代下去,就可以實現對目標的跟蹤。整個演算法的具體步驟分5步:
Step 1:將整個映像設為搜尋地區。
Step 2:初始話Search Window的大小和位置。
Step 3:計算Search Window內的彩色機率分布,此地區的大小比Search Window要稍微大一點。
Step 4:運行MeanShift。獲得Search Window新的位置和大小。
Step 5:在下一幀視頻映像中,用Step 3獲得的值初始化Search Window的位置和大小。跳轉到Step 3繼續運行。

2.實現
在OpenCV中,有實現CamShift演算法的函數,此函數的原型是:
  cvCamShift(IplImage* imgprob, CvRect windowIn,
                CvTermCriteria criteria, 
                CvConnectedComp* out, CvBox2D* box=0);
其中:
   imgprob:色彩機率分布圖像。
   windowIn:Search Window的初始值。
   Criteria:用來判斷搜尋是否停止的一個標準。
   out:儲存運算結果,包括新的Search Window的位置和面積。
   box:包含被跟蹤物體的最小矩形。

說明:
1.在OpenCV 4.0 beta的目錄中,有CamShift的例子。遺憾的是這個例子目標的跟蹤是半自動的,即需要人手工選定一個目標。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.