C++OpenCV視頻操作之如何實(shí)現(xiàn)KLT稀疏光流對(duì)象跟蹤

這篇文章主要為大家展示了“C++ OpenCV視頻操作之如何實(shí)現(xiàn)KLT稀疏光流對(duì)象跟蹤”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“C++ OpenCV視頻操作之如何實(shí)現(xiàn)KLT稀疏光流對(duì)象跟蹤”這篇文章吧。

企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對(duì)外擴(kuò)展宣傳的重要窗口,一個(gè)合格的網(wǎng)站不僅僅能為公司帶來(lái)巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺(tái),創(chuàng)新互聯(lián)面向各種領(lǐng)域:成都發(fā)電機(jī)租賃成都網(wǎng)站設(shè)計(jì)、營(yíng)銷型網(wǎng)站解決方案、網(wǎng)站設(shè)計(jì)等建站排名服務(wù)。


前言

光流跟蹤法是目前分析運(yùn)動(dòng)圖像比較重要的方法,用來(lái)指時(shí)變圖像的運(yùn)動(dòng)速度,是根據(jù)運(yùn)動(dòng)的物體,對(duì)應(yīng)到圖像中亮度模式也在運(yùn)動(dòng)得到的。稀疏光流跟蹤是一種經(jīng)典的對(duì)象跟蹤算法,可以繪制運(yùn)動(dòng)對(duì)象的跟蹤軌跡與運(yùn)行方向,是一種簡(jiǎn)單、實(shí)時(shí)高效的跟蹤算法,這個(gè)算法最早是有Bruce D. Lucas and Takeo Kanade兩位作者提出來(lái)的,所以又被稱為KLT。KLT算法工作有三個(gè)假設(shè)前提條件:

  • 亮度恒定

  • 短距離移動(dòng)

  • 空間一致性

 

基本流程

  • 讀取圖像

  • 角點(diǎn)提取

  • 光流計(jì)算

  • 跟蹤流程

  • 輸出跟蹤圖像

這一篇我們先看一下基本流程的前兩步讀取圖像和角點(diǎn)提取。

代碼演示

我們?cè)傩陆ㄒ粋€(gè)項(xiàng)目名為opencv--video3,按照配置屬性(VS2017配置OpenCV通用屬性),然后在源文件寫入#include和main方法

C++ OpenCV視頻操作之如何實(shí)現(xiàn)KLT稀疏光流對(duì)象跟蹤

C++ OpenCV視頻操作之如何實(shí)現(xiàn)KLT稀疏光流對(duì)象跟蹤

里面加載的圖像還是上次我們用到的test6.mp4,就是那個(gè)我拿一個(gè)按摩器在視頻中移動(dòng)那個(gè)視頻。

定義參數(shù)

首先我們定義了兩個(gè)Mat和一個(gè)特征點(diǎn)提取的vector

C++ OpenCV視頻操作之如何實(shí)現(xiàn)KLT稀疏光流對(duì)象跟蹤

將源圖轉(zhuǎn)換為灰度圖

C++ OpenCV視頻操作之如何實(shí)現(xiàn)KLT稀疏光流對(duì)象跟蹤

角點(diǎn)提取

我們?cè)谔卣魈崛〉臅r(shí)候當(dāng)時(shí)學(xué)過(guò)Shi-Tomasi角點(diǎn)檢測(cè),用到的角點(diǎn)檢測(cè)的API就是goodFeaturesToTrack,里面的具體參數(shù)可以看一下當(dāng)時(shí)的文章《C++ OpenCV特征提取之亞像素級(jí)角點(diǎn)檢測(cè)》里面的定義及說(shuō)明。這里用到后把上面的灰度圖像中的特征提取出來(lái)放到了我們定義的std::vector<cv::Point2f> features里面。

C++ OpenCV視頻操作之如何實(shí)現(xiàn)KLT稀疏光流對(duì)象跟蹤

在源圖上畫出特征點(diǎn)

我們把提取出來(lái)的特征點(diǎn)通過(guò)遍歷后以紅色的圓點(diǎn)形式畫到了源圖上,然后再顯示出來(lái)。

C++ OpenCV視頻操作之如何實(shí)現(xiàn)KLT稀疏光流對(duì)象跟蹤

整個(gè)部分的代碼

C++ OpenCV視頻操作之如何實(shí)現(xiàn)KLT稀疏光流對(duì)象跟蹤

我們看一下運(yùn)行出來(lái)的視頻效果

視頻中的截圖

C++ OpenCV視頻操作之如何實(shí)現(xiàn)KLT稀疏光流對(duì)象跟蹤

以上是“C++ OpenCV視頻操作之如何實(shí)現(xiàn)KLT稀疏光流對(duì)象跟蹤”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁(yè)標(biāo)題:C++OpenCV視頻操作之如何實(shí)現(xiàn)KLT稀疏光流對(duì)象跟蹤
分享URL:http://bm7419.com/article26/jcejjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄做網(wǎng)站、品牌網(wǎng)站制作微信公眾號(hào)、網(wǎng)站排名、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)