本發(fā)明涉及視頻處理領(lǐng)域,具體涉及一種視頻穩(wěn)像方法及裝置。
背景技術(shù):
視頻穩(wěn)像是一種對(duì)隨機(jī)抖動(dòng)或隨機(jī)運(yùn)動(dòng)的攝像機(jī)所獲取的動(dòng)態(tài)圖像序列進(jìn)行重新修改,排列,使其在顯示器上更加平穩(wěn)地顯示的技術(shù)。它消除或減弱了圖像序列之間的不規(guī)則的平移,旋轉(zhuǎn),縮放等失真情況,改善了畫面的質(zhì)量,從而使得畫面更加適合于智能視頻分析中的目標(biāo)檢測(cè)、跟蹤和識(shí)別等處理操作。
現(xiàn)有技術(shù)中存在各種各樣的視頻穩(wěn)像技術(shù),例如機(jī)械穩(wěn)像技術(shù)、基于圖像處理的電子穩(wěn)像技術(shù)等等,但是我們?nèi)灾铝τ诓粩嗵嵘曨l穩(wěn)像技術(shù)能夠達(dá)到的效果。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種視頻穩(wěn)像方法及裝置,對(duì)于存在失真情況的視頻畫面,能夠提升其最終的顯示效果。
本發(fā)明提供了一種視頻穩(wěn)像方法,所述方法包括:
采集相鄰兩幀圖像,并分別記錄所述相鄰兩幀圖像的采集時(shí)間點(diǎn);根據(jù)在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)之間的時(shí)間段內(nèi)陀螺儀的運(yùn)動(dòng)數(shù)據(jù),計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第一數(shù)據(jù);
利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)所述相鄰兩幀圖像上是否存在角點(diǎn),如果是,則根據(jù)所述相鄰兩幀圖像上角點(diǎn)的匹配信息,計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第二數(shù)據(jù);
將所述第一數(shù)據(jù)和所述第二數(shù)據(jù)進(jìn)行融合,得到融合結(jié)果數(shù)據(jù);對(duì)所述融合結(jié)果數(shù)據(jù)進(jìn)行濾波后,得到所述相鄰兩幀圖像的最終運(yùn)動(dòng)數(shù)據(jù);
根據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù)和所述相鄰兩幀圖像的前一幀圖像,確定所述相鄰兩幀圖像的后一幀圖像,實(shí)現(xiàn)所述相鄰兩幀圖像的穩(wěn)像。
優(yōu)選地,所述方法還包括:
如果利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)所述相鄰兩幀圖像上不存在角點(diǎn),則直接對(duì)所述第一數(shù)據(jù)進(jìn)行濾波,得到所述相鄰兩幀圖像的最終運(yùn)動(dòng)數(shù)據(jù);繼續(xù)執(zhí)行所述根據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù)和所述相鄰兩幀圖像的前一幀圖像,獲取所述相鄰兩幀圖像的后一幀圖像,實(shí)現(xiàn)所述相鄰兩幀圖像的穩(wěn)像的步驟。
優(yōu)選地,所述根據(jù)在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)之間的時(shí)間段內(nèi)陀螺儀的運(yùn)動(dòng)數(shù)據(jù),計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第一數(shù)據(jù),包括:
分別獲取在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)陀螺儀的旋轉(zhuǎn)角速度;
根據(jù)所述陀螺儀的旋轉(zhuǎn)角速度,計(jì)算在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)之間的時(shí)間段內(nèi)陀螺儀的運(yùn)動(dòng)數(shù)據(jù);
根據(jù)所述陀螺儀的運(yùn)動(dòng)數(shù)據(jù)和預(yù)先獲取的攝像頭焦距數(shù)據(jù),計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第一數(shù)據(jù)。
優(yōu)選地,所述將所述第一數(shù)據(jù)和所述第二數(shù)據(jù)進(jìn)行融合,得到融合結(jié)果數(shù)據(jù),包括:
分別計(jì)算所述第一數(shù)據(jù)和所述第二數(shù)據(jù)中的所述相鄰兩幀圖像之間的平移量的平均值,以及所述相鄰兩幀圖像之間的旋轉(zhuǎn)角度的平均值,作為融合結(jié)果數(shù)據(jù)。
優(yōu)選地,所述根據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù)和所述相鄰兩幀圖像的前一幀圖像,確定所述相鄰兩幀圖像的后一幀圖像,實(shí)現(xiàn)所述相鄰兩幀圖像的穩(wěn)像,包括:
依據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù),對(duì)所述相鄰兩幀圖像的前一幀圖像進(jìn)行變換,得到變換后圖像;
將所述變換后圖像確定為所述相鄰兩幀圖像的后一幀圖像,實(shí)現(xiàn)所述相鄰兩幀圖像的穩(wěn)像。
優(yōu)選地,所述方法還包括:
裁剪所述相鄰兩幀圖像的后一幀圖像的邊緣區(qū)域,以去除圖像的黑邊。
本發(fā)明還提供了一種視頻穩(wěn)像裝置,所述裝置包括:
采集模塊,用于采集相鄰兩幀圖像;
記錄模塊,用于分別記錄所述相鄰兩幀圖像的采集時(shí)間點(diǎn);
第一計(jì)算模塊,用于根據(jù)在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)之間的時(shí)間段內(nèi)陀螺儀的運(yùn)動(dòng)數(shù)據(jù),計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第一數(shù)據(jù);
檢測(cè)模塊,用于利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)所述相鄰兩幀圖像上是否存在角點(diǎn);
第二計(jì)算模塊,用于在所述檢測(cè)模塊檢測(cè)到角點(diǎn)時(shí),根據(jù)所述相鄰兩幀圖像上角點(diǎn)的匹配信息,計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第二數(shù)據(jù);
融合模塊,用于將所述第一數(shù)據(jù)和所述第二數(shù)據(jù)進(jìn)行融合,得到融合結(jié)果數(shù)據(jù);
第一濾波模塊,用于對(duì)所述融合結(jié)果數(shù)據(jù)進(jìn)行濾波后,得到所述相鄰兩幀圖像的最終運(yùn)動(dòng)數(shù)據(jù);
確定模塊,用于根據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù)和所述相鄰兩幀圖像的前一幀圖像,確定所述相鄰兩幀圖像的后一幀圖像,實(shí)現(xiàn)所述相鄰兩幀圖像的穩(wěn)像。
優(yōu)選地,所述裝置還包括:
第二濾波模塊,用于在所述檢測(cè)模塊未檢測(cè)到角點(diǎn)時(shí),對(duì)所述第一數(shù)據(jù)進(jìn)行濾波,得到所述相鄰兩幀圖像的最終運(yùn)動(dòng)數(shù)據(jù)。
優(yōu)選地,所述第一計(jì)算模塊,包括:
獲取子模塊,用于分別獲取在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)陀螺儀的旋轉(zhuǎn)角速度;
第一計(jì)算子模塊,用于根據(jù)所述陀螺儀的旋轉(zhuǎn)角速度,計(jì)算在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)之間的時(shí)間段內(nèi)陀螺儀的運(yùn)動(dòng)數(shù)據(jù);
第二計(jì)算子模塊,用于根據(jù)所述陀螺儀的運(yùn)動(dòng)數(shù)據(jù)和預(yù)先獲取的攝像頭焦距數(shù)據(jù),計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第一數(shù)據(jù)。
優(yōu)選地,所述融合模塊,具體用于:
分別計(jì)算所述第一數(shù)據(jù)和所述第二數(shù)據(jù)中的所述相鄰兩幀圖像之間的平移量的平均值,以及所述相鄰兩幀圖像之間的旋轉(zhuǎn)角度的平均值,作為融合結(jié)果數(shù)據(jù)。
優(yōu)選地,所述確定模塊,包括:
變換子模塊,用于依據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù),對(duì)所述相鄰兩幀圖像的前一幀圖像進(jìn)行變換,得到變換后圖像;
確定子模塊,用于將所述變換后圖像確定為所述相鄰兩幀圖像的后一幀圖像,實(shí)現(xiàn)所述相鄰兩幀圖像的穩(wěn)像。
優(yōu)選地,所述裝置還包括:
裁剪模塊,用于裁剪所述相鄰兩幀圖像的后一幀圖像的邊緣區(qū)域,以去除圖像的黑邊。
本發(fā)明提供的視頻穩(wěn)像方法中,首先,采集相鄰兩幀圖像,并分別記錄所述相鄰兩幀圖像的采集時(shí)間點(diǎn);根據(jù)在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)之間的時(shí)間段內(nèi)陀螺儀的運(yùn)動(dòng)數(shù)據(jù),計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第一數(shù)據(jù)。其次,利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)所述相鄰兩幀圖像上是否存在角點(diǎn),如果是,則根據(jù)所述相鄰兩幀圖像上角點(diǎn)的匹配信息,計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第二數(shù)據(jù)。再次,將所述第一數(shù)據(jù)和所述第二數(shù)據(jù)進(jìn)行融合,得到融合結(jié)果數(shù)據(jù);對(duì)所述融合結(jié)果數(shù)據(jù)進(jìn)行濾波后,得到所述相鄰兩幀圖像的最終運(yùn)動(dòng)數(shù)據(jù)。最終,根據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù)和所述相鄰兩幀圖像的前一幀圖像,確定所述相鄰兩幀圖像的后一幀圖像,實(shí)現(xiàn)所述相鄰兩幀圖像的穩(wěn)像。本發(fā)明提供的視頻穩(wěn)像方法,由于結(jié)合了陀螺儀數(shù)據(jù),以及圖像處理方法對(duì)視頻中相鄰兩幀圖像進(jìn)行穩(wěn)像處理,所以,最終經(jīng)過(guò)穩(wěn)像后的視頻的顯示效果得到更好的提升。
附圖說(shuō)明
為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種視頻穩(wěn)像方法流程圖;
圖2為本發(fā)明提供的一種利用陀螺儀的運(yùn)動(dòng)數(shù)據(jù)計(jì)算所述相鄰兩幀圖像之間的運(yùn)動(dòng)情況的方法流程圖;
圖3為本發(fā)明提供的另一種視頻穩(wěn)像方法流程圖;
圖4為本發(fā)明提供的一種視頻穩(wěn)像裝置結(jié)構(gòu)示意圖;
圖5為本發(fā)明提供的另一種視頻穩(wěn)像裝置結(jié)構(gòu)示意圖;
圖6為本發(fā)明提供的一種計(jì)算機(jī)的部分結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
本發(fā)明實(shí)施例提供了一種視頻穩(wěn)像方法,參考圖1,為本發(fā)明實(shí)施例提供的一種視頻穩(wěn)像方法流程圖,所述方法具體可以包括:
S101:采集相鄰兩幀圖像。
本發(fā)明實(shí)施例中,系統(tǒng)從攝像頭拍攝的視頻中實(shí)時(shí)采集相鄰兩幀圖像。具體的,本發(fā)明實(shí)施例是通過(guò)對(duì)相鄰兩幀圖像之間的穩(wěn)像處理,最終達(dá)到對(duì)拍攝到的整個(gè)視頻的穩(wěn)像處理。
S102:分別記錄所述相鄰兩幀圖像的采集時(shí)間點(diǎn)。
實(shí)際應(yīng)用中,攝像頭拍攝的視頻中的每幀圖像都具有拍攝時(shí)間點(diǎn),本發(fā)明實(shí)施例中所述相鄰兩幀圖像的采集時(shí)間點(diǎn)即為攝像頭分別拍攝所述相鄰兩幀圖像的拍攝時(shí)間點(diǎn)。
S103:根據(jù)在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)之間的時(shí)間段內(nèi)陀螺儀的運(yùn)動(dòng)數(shù)據(jù),計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第一數(shù)據(jù)。
本發(fā)明實(shí)施例中,用于拍攝視頻的設(shè)備具有陀螺儀,具體的,利用陀螺儀的運(yùn)動(dòng)數(shù)據(jù),可以計(jì)算所述相鄰兩幀圖像之間的運(yùn)動(dòng)情況,如所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度。
參考圖2,為本發(fā)明實(shí)施例提供的一種利用陀螺儀的運(yùn)動(dòng)數(shù)據(jù)計(jì)算所述相鄰兩幀圖像之間的運(yùn)動(dòng)情況的方法流程圖。具體的,所述方法包括:
S201:分別獲取在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)陀螺儀的旋轉(zhuǎn)角速度。
本發(fā)明實(shí)施例中,在采集所述相鄰兩幀圖像時(shí),分別記錄采集時(shí)間點(diǎn)t1和t2,并分別獲取在t1時(shí)間點(diǎn)時(shí)陀螺儀的旋轉(zhuǎn)角速度以及為在t2時(shí)間點(diǎn)時(shí)陀螺儀的旋轉(zhuǎn)角速度
S202:根據(jù)所述陀螺儀的旋轉(zhuǎn)角速度,計(jì)算在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)之間的時(shí)間段內(nèi)陀螺儀的運(yùn)動(dòng)數(shù)據(jù)。
一種具體的實(shí)現(xiàn)方式中,對(duì)采集時(shí)間點(diǎn)t1和t2陀螺儀的旋轉(zhuǎn)角速度求平均值,得到t1到t2時(shí)間段內(nèi)陀螺儀的運(yùn)動(dòng)數(shù)據(jù)(Wx,Wy,Wz),其中,計(jì)算方法如下:
S203:根據(jù)所述陀螺儀的運(yùn)動(dòng)數(shù)據(jù)和預(yù)先獲取的攝像頭焦距數(shù)據(jù),計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第一數(shù)據(jù)。
本發(fā)明實(shí)施例預(yù)先獲取拍攝視頻的攝像頭的焦距數(shù)據(jù)fx,fy,結(jié)合所述攝像頭焦距數(shù)據(jù)fx,fy,計(jì)算所述相鄰兩幀圖像之間的平移量(Δx,Δy)和旋轉(zhuǎn)角度θ,作為第一數(shù)據(jù),其中,計(jì)算方法如下:
θx=Wx×(t2-t1)
θy=Wy×(t2-t1)
θz=Wz×(t2-t1)
θ=θz
S104:利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)所述相鄰兩幀圖像上是否存在角點(diǎn),如果是,則執(zhí)行S105。
本發(fā)明實(shí)施例還可以基于圖像處理算法,計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度。但是,圖像處理算法的基礎(chǔ)是圖像上角點(diǎn)的獲取,只有系統(tǒng)在所述相鄰兩幀圖像上能夠檢測(cè)到角點(diǎn),系統(tǒng)才能夠進(jìn)行對(duì)所述相鄰兩幀圖像進(jìn)行圖像處理,最終得到所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角速度。
所以,本發(fā)明實(shí)施例在上述S101中包括的采集相鄰兩幀圖像執(zhí)行結(jié)束后,即可利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)所述相鄰兩幀圖像上是否存在角點(diǎn)。實(shí)際應(yīng)用中可以利用的角點(diǎn)檢測(cè)算法較多,包括Moravec角點(diǎn)檢測(cè)算法,F(xiàn)AST角點(diǎn)檢測(cè)算法,Harris角點(diǎn)檢測(cè)法和shi_tomas角點(diǎn)檢測(cè)法等。
系統(tǒng)利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)到所述相鄰兩幀圖像上存在角點(diǎn)后,S105:根據(jù)所述相鄰兩幀圖像上角點(diǎn)的匹配信息,計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第二數(shù)據(jù)。
一種優(yōu)選的實(shí)施方式中,系統(tǒng)利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)到所述相鄰兩幀圖像上存在角點(diǎn)后,首先獲取所述相鄰兩幀圖像的前一幀圖像上的角點(diǎn),例如為shi_tomas角點(diǎn)。其次,在所述相鄰兩幀圖像的后一幀圖像中,查找并記錄與前一幀圖像上的角點(diǎn)對(duì)應(yīng)的像素點(diǎn),具體可以利用現(xiàn)有的金字塔LK光流法實(shí)現(xiàn)。然后,根據(jù)所述相鄰兩幀圖像上角點(diǎn)對(duì)應(yīng)的像素點(diǎn)的匹配信息,計(jì)算圖像變化矩陣,其中,所述匹配信息包括所述相鄰兩幀圖像的運(yùn)動(dòng)數(shù)據(jù),所述圖像變化矩陣用于表示所述相鄰兩幀圖像上角點(diǎn)對(duì)應(yīng)的像素點(diǎn)的變化情況。最后,系統(tǒng)可以利用RANSAC算法從所述圖像變化矩陣中篩選出全局運(yùn)動(dòng)矢量,即為所述相鄰兩幀圖像之間的平移量(Δx1,Δy1)和旋轉(zhuǎn)角度θ1,作為第二數(shù)據(jù)。
另一種實(shí)施方式中,系統(tǒng)利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)到所述相鄰兩幀圖像上存在角點(diǎn)后,首先獲取所述相鄰兩幀圖像上的角點(diǎn),其次,將所述相鄰兩幀圖像上的角點(diǎn)進(jìn)行匹配得到匹配信息,其中,所述匹配信息包括所述相鄰兩幀圖像的運(yùn)動(dòng)數(shù)據(jù)。最后,系統(tǒng)可以利用RANSAC算法從所述圖像變化矩陣中篩選出全局運(yùn)動(dòng)矢量,即為所述相鄰兩幀圖像之間的平移量(Δx1,Δy1)和旋轉(zhuǎn)角度θ1,作為第二數(shù)據(jù)。
S106:將所述第一數(shù)據(jù)和所述第二數(shù)據(jù)進(jìn)行融合,得到融合結(jié)果數(shù)據(jù)。
一種優(yōu)選的實(shí)施方式中,分別計(jì)算所述第一數(shù)據(jù)和所述第二數(shù)據(jù)中的所述相鄰兩幀圖像之間的平移量的平均值,以及所述相鄰兩幀圖像之間的旋轉(zhuǎn)角度的平均值,作為融合結(jié)果數(shù)據(jù)。
具體的,Δx2=(Δx+Δx1)/2;Δy2=(Δy+Δy1)/2;θ2=(θ+θ1)/2。所述融合結(jié)果數(shù)據(jù)包括所述相鄰兩幀圖像之間的平移量(Δx2,Δy2),以及所述相鄰兩幀圖像之間的旋轉(zhuǎn)角度θ2。
S107:對(duì)所述融合結(jié)果數(shù)據(jù)進(jìn)行濾波后,得到所述相鄰兩幀圖像的最終運(yùn)動(dòng)數(shù)據(jù)。
本發(fā)明實(shí)施例中在得到融合結(jié)果數(shù)據(jù)后,對(duì)所述融合結(jié)果數(shù)據(jù)進(jìn)行濾波,其中包括對(duì)所述融合結(jié)果數(shù)據(jù)中變化較大的數(shù)據(jù)刪除或減弱。具體的,可以對(duì)所述融合結(jié)果數(shù)據(jù)進(jìn)行Kalman濾波。
為了消除噪聲的影響,本發(fā)明實(shí)施例可以對(duì)經(jīng)過(guò)濾波后的融合結(jié)果數(shù)據(jù)進(jìn)行去噪處理。最終,系統(tǒng)可以得到所述相鄰兩幀圖像的最終運(yùn)動(dòng)數(shù)據(jù)。其中,所述最終運(yùn)動(dòng)數(shù)據(jù)用于表示所述相鄰兩幀圖像的經(jīng)過(guò)濾波后的運(yùn)動(dòng)數(shù)據(jù)。
S108:根據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù)和所述相鄰兩幀圖像的前一幀圖像,確定所述相鄰兩幀圖像的后一幀圖像,實(shí)現(xiàn)所述相鄰兩幀圖像的穩(wěn)像。
本發(fā)明實(shí)施例在得到所述相鄰兩幀圖像的最終運(yùn)動(dòng)數(shù)據(jù)后,依據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù),對(duì)所述相鄰兩幀圖像的前一幀圖像進(jìn)行變換,得到變換后圖像。并將所述變換后圖像確定為所述相鄰兩幀圖像的后一幀圖像,實(shí)現(xiàn)所述相鄰兩幀圖像的穩(wěn)像。也就是說(shuō),此時(shí)得到的包括所述后一幀圖像和所述前一幀圖像的相鄰兩幀圖像是經(jīng)過(guò)穩(wěn)像后的圖像。
實(shí)際應(yīng)用中,將攝像頭拍攝的視頻中的各個(gè)相鄰兩幀圖像均經(jīng)過(guò)本發(fā)明實(shí)施例提供的視頻穩(wěn)像處理,最終得到的視頻為經(jīng)過(guò)穩(wěn)像處理的視頻。
本發(fā)明實(shí)施例提供的視頻穩(wěn)像方法中,首先,采集相鄰兩幀圖像,并分別記錄所述相鄰兩幀圖像的采集時(shí)間點(diǎn);根據(jù)在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)之間的時(shí)間段內(nèi)陀螺儀的運(yùn)動(dòng)數(shù)據(jù),計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第一數(shù)據(jù)。其次,利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)所述相鄰兩幀圖像上是否存在角點(diǎn),如果是,則根據(jù)所述相鄰兩幀圖像上角點(diǎn)的匹配信息,計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第二數(shù)據(jù)。再次,將所述第一數(shù)據(jù)和所述第二數(shù)據(jù)進(jìn)行融合,得到融合結(jié)果數(shù)據(jù);對(duì)所述融合結(jié)果數(shù)據(jù)進(jìn)行濾波后,得到所述相鄰兩幀圖像的最終運(yùn)動(dòng)數(shù)據(jù)。最終,根據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù)和所述相鄰兩幀圖像的前一幀圖像,確定所述相鄰兩幀圖像的后一幀圖像,實(shí)現(xiàn)所述相鄰兩幀圖像的穩(wěn)像。本發(fā)明實(shí)施例提供的視頻穩(wěn)像方法,由于結(jié)合了陀螺儀數(shù)據(jù),以及圖像處理方法對(duì)視頻中相鄰兩幀圖像進(jìn)行穩(wěn)像處理,所以,最終經(jīng)過(guò)穩(wěn)像后的視頻的顯示效果得到更好的提升。
在所述相鄰兩幀圖像上能夠檢測(cè)到角點(diǎn)時(shí),本發(fā)明實(shí)施例提供的視頻穩(wěn)像方法結(jié)合陀螺儀數(shù)據(jù)和圖像處理算法,得到顯示效果更好的經(jīng)過(guò)穩(wěn)像后的視頻。但是,對(duì)于檢測(cè)到所述相鄰兩幀圖像上不存在角點(diǎn)的情況,本發(fā)明實(shí)施例提供的視頻穩(wěn)像方法是不能利用圖像處理算法的,所以,本發(fā)明實(shí)施例針對(duì)檢測(cè)到所述相鄰兩幀圖像上不存在角點(diǎn)的情況,還提供了一種視頻穩(wěn)像方法。
參考圖3,為本發(fā)明實(shí)施例提供的另一種視頻穩(wěn)像方法流程圖。所述方法具體包括:
S301:采集相鄰兩幀圖像。
S302:分別記錄所述相鄰兩幀圖像的采集時(shí)間點(diǎn)。
S303:根據(jù)在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)之間的時(shí)間段內(nèi)陀螺儀的運(yùn)動(dòng)數(shù)據(jù),計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第一數(shù)據(jù)。
S304:利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)所述相鄰兩幀圖像上是否存在角點(diǎn),如果否,則執(zhí)行S305。
本發(fā)明實(shí)施例中,如果利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)所述相鄰兩幀圖像上不存在角點(diǎn),則只能利用計(jì)算得到的所述第一數(shù)據(jù)進(jìn)行穩(wěn)像處理。
如果利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)所述相鄰兩幀圖像上存在角點(diǎn),則與上述S104中的執(zhí)行過(guò)程相同。
S305:對(duì)所述第一數(shù)據(jù)進(jìn)行濾波,得到所述相鄰兩幀圖像的最終運(yùn)動(dòng)數(shù)據(jù)。
本發(fā)明實(shí)施例中,由于系統(tǒng)檢測(cè)所述相鄰兩幀圖像上不存在角點(diǎn),所以,系統(tǒng)只能通過(guò)陀螺儀的運(yùn)動(dòng)數(shù)據(jù)計(jì)算得到第一數(shù)據(jù),并對(duì)所述第一數(shù)據(jù)進(jìn)行濾波,得到所述相鄰兩幀圖像的最終運(yùn)動(dòng)數(shù)據(jù)。
S306:根據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù)和所述相鄰兩幀圖像的前一幀圖像,獲取所述相鄰兩幀圖像的后一幀圖像,實(shí)現(xiàn)所述相鄰兩幀圖像的穩(wěn)像。
本發(fā)明實(shí)施例提供的視頻穩(wěn)像方法中,如果利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)所述相鄰兩幀圖像上不存在角點(diǎn),則系統(tǒng)直接對(duì)所述第一數(shù)據(jù)進(jìn)行濾波,得到所述相鄰兩幀圖像的最終運(yùn)動(dòng)數(shù)據(jù)。最后,根據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù)和所述相鄰兩幀圖像的前一幀圖像,獲取所述相鄰兩幀圖像的后一幀圖像,實(shí)現(xiàn)所述相鄰兩幀圖像的穩(wěn)像。本發(fā)明實(shí)施例對(duì)于檢測(cè)不到角點(diǎn)的圖像也能夠通過(guò)陀螺儀的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行穩(wěn)像處理。
另外,由于圖像信息的缺失,本發(fā)明實(shí)施例在根據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù)和所述相鄰兩幀圖像的前一幀圖像,獲取所述相鄰兩幀圖像的后一幀圖像后,所述相鄰兩幀圖像的后一幀圖像的邊緣部分一般會(huì)有黑邊出現(xiàn),所以,本發(fā)明實(shí)施例可以通過(guò)裁剪所述相鄰兩幀圖像的后一幀圖像的邊緣區(qū)域,以去除圖像的黑邊。這種裁剪的方式比較簡(jiǎn)單,可以節(jié)省系統(tǒng)的開銷。
一種實(shí)際的應(yīng)用場(chǎng)景中,本發(fā)明實(shí)施例提供的視頻穩(wěn)像方法能夠應(yīng)用于無(wú)人機(jī)領(lǐng)域。具體的,本發(fā)明實(shí)施例提供了一種基于陀螺儀和攝像頭的無(wú)人機(jī)視頻穩(wěn)像方法。其中,為了減少無(wú)人機(jī)的重量和成本,用于拍攝視頻的攝像頭可以為無(wú)人機(jī)內(nèi)置的攝像頭,以及陀螺儀也可以是無(wú)人機(jī)內(nèi)置陀螺儀,無(wú)需額外的硬件設(shè)備。
本發(fā)明實(shí)施例還提供了一種視頻穩(wěn)像裝置,參考圖4,為本發(fā)明實(shí)施例提供的一種視頻穩(wěn)像裝置結(jié)構(gòu)示意圖,所述裝置包括:
采集模塊401,用于采集相鄰兩幀圖像;
記錄模塊402,用于分別記錄所述相鄰兩幀圖像的采集時(shí)間點(diǎn);
第一計(jì)算模塊403,用于根據(jù)在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)之間的時(shí)間段內(nèi)陀螺儀的運(yùn)動(dòng)數(shù)據(jù),計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第一數(shù)據(jù);
檢測(cè)模塊404,用于利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)所述相鄰兩幀圖像上是否存在角點(diǎn);
第二計(jì)算模塊405,用于在所述檢測(cè)模塊檢測(cè)到角點(diǎn)時(shí),根據(jù)所述相鄰兩幀圖像上角點(diǎn)的匹配信息,計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第二數(shù)據(jù);
融合模塊406,用于將所述第一數(shù)據(jù)和所述第二數(shù)據(jù)進(jìn)行融合,得到融合結(jié)果數(shù)據(jù);
第一濾波模塊407,用于對(duì)所述融合結(jié)果數(shù)據(jù)進(jìn)行濾波后,得到所述相鄰兩幀圖像的最終運(yùn)動(dòng)數(shù)據(jù);
確定模塊408,用于根據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù)和所述相鄰兩幀圖像的前一幀圖像,確定所述相鄰兩幀圖像的后一幀圖像,實(shí)現(xiàn)所述相鄰兩幀圖像的穩(wěn)像。
另外,本發(fā)明實(shí)施例針對(duì)檢測(cè)到所述相鄰兩幀圖像上不存在角點(diǎn)的情況,還提供了一種視頻穩(wěn)像裝置,參考圖5,為本發(fā)明實(shí)施例提供的另一種視頻穩(wěn)像裝置結(jié)構(gòu)示意圖,所述裝置包括:
第二濾波模塊501,用于在所述檢測(cè)模塊未檢測(cè)到角點(diǎn)時(shí),對(duì)所述第一數(shù)據(jù)進(jìn)行濾波,得到所述相鄰兩幀圖像的最終運(yùn)動(dòng)數(shù)據(jù)。
一種具體的實(shí)現(xiàn)方式中,所述第一計(jì)算模塊,包括:
獲取子模塊,用于分別獲取在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)陀螺儀的旋轉(zhuǎn)角速度;
第一計(jì)算子模塊,用于根據(jù)所述陀螺儀的旋轉(zhuǎn)角速度,計(jì)算在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)之間的時(shí)間段內(nèi)陀螺儀的運(yùn)動(dòng)數(shù)據(jù);
第二計(jì)算子模塊,用于根據(jù)所述陀螺儀的運(yùn)動(dòng)數(shù)據(jù)和預(yù)先獲取的攝像頭焦距數(shù)據(jù),計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第一數(shù)據(jù)。
具體的,所述融合模塊,具體用于:
分別計(jì)算所述第一數(shù)據(jù)和所述第二數(shù)據(jù)中的所述相鄰兩幀圖像之間的平移量的平均值,以及所述相鄰兩幀圖像之間的旋轉(zhuǎn)角度的平均值,作為融合結(jié)果數(shù)據(jù)。
實(shí)際應(yīng)用中,所述確定模塊,包括:
變換子模塊,用于依據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù),對(duì)所述相鄰兩幀圖像的前一幀圖像進(jìn)行變換,得到變換后圖像;
確定子模塊,用于將所述變換后圖像確定為所述相鄰兩幀圖像的后一幀圖像,實(shí)現(xiàn)所述相鄰兩幀圖像的穩(wěn)像。
另外,所述裝置還包括:
裁剪模塊,用于裁剪所述相鄰兩幀圖像的后一幀圖像的邊緣區(qū)域,以去除圖像的黑邊。
本發(fā)明實(shí)施例提供的視頻穩(wěn)像裝置能夠?qū)崿F(xiàn)以下功能:采集相鄰兩幀圖像,并分別記錄所述相鄰兩幀圖像的采集時(shí)間點(diǎn);根據(jù)在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)之間的時(shí)間段內(nèi)陀螺儀的運(yùn)動(dòng)數(shù)據(jù),計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第一數(shù)據(jù)。利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)所述相鄰兩幀圖像上是否存在角點(diǎn),如果是,則根據(jù)所述相鄰兩幀圖像上角點(diǎn)的匹配信息,計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第二數(shù)據(jù)。將所述第一數(shù)據(jù)和所述第二數(shù)據(jù)進(jìn)行融合,得到融合結(jié)果數(shù)據(jù);對(duì)所述融合結(jié)果數(shù)據(jù)進(jìn)行濾波后,得到所述相鄰兩幀圖像的最終運(yùn)動(dòng)數(shù)據(jù)。根據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù)和所述相鄰兩幀圖像的前一幀圖像,確定所述相鄰兩幀圖像的后一幀圖像,實(shí)現(xiàn)所述相鄰兩幀圖像的穩(wěn)像。本發(fā)明實(shí)施例提供的視頻穩(wěn)像裝置,由于結(jié)合了陀螺儀數(shù)據(jù),以及圖像處理方法對(duì)視頻中相鄰兩幀圖像進(jìn)行穩(wěn)像處理,所以,最終經(jīng)過(guò)穩(wěn)像后的視頻的顯示效果得到更好的提升。
相應(yīng)的,本發(fā)明實(shí)施例還提供一種計(jì)算機(jī),參見圖6所示,可以包括:
處理器601、存儲(chǔ)器602、輸入裝置603和輸出裝置604。行為收集服務(wù)器和智能推薦服務(wù)器中的處理器601的數(shù)量可以一個(gè)或多個(gè),圖6中以一個(gè)處理器為例。在本發(fā)明的一些實(shí)施例中,處理器601、存儲(chǔ)器602、輸入裝置603和輸出裝置604可通過(guò)總線或其它方式連接,其中,圖6中以通過(guò)總線連接為例。
存儲(chǔ)器602可用于存儲(chǔ)軟件程序以及模塊,處理器601通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器602的軟件程序以及模塊,從而執(zhí)行行為收集服務(wù)器和智能推薦服務(wù)器的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器602可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序等。此外,存儲(chǔ)器602可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。輸入裝置603可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與行為收集服務(wù)器和智能推薦服務(wù)器的用戶設(shè)置以及功能控制有關(guān)的鍵信號(hào)輸入。
具體在本實(shí)施例中,處理器601會(huì)按照如下的指令,將一個(gè)或一個(gè)以上的應(yīng)用程序的進(jìn)程對(duì)應(yīng)的可執(zhí)行文件加載到存儲(chǔ)器602中,并由處理器601來(lái)運(yùn)行存儲(chǔ)在存儲(chǔ)器602中的應(yīng)用程序,從而實(shí)現(xiàn)各種功能:
采集相鄰兩幀圖像,并分別記錄所述相鄰兩幀圖像的采集時(shí)間點(diǎn);根據(jù)在所述相鄰兩幀圖像的采集時(shí)間點(diǎn)之間的時(shí)間段內(nèi)陀螺儀的運(yùn)動(dòng)數(shù)據(jù),計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第一數(shù)據(jù);
利用預(yù)設(shè)角點(diǎn)檢測(cè)算法檢測(cè)所述相鄰兩幀圖像上是否存在角點(diǎn),如果是,則根據(jù)所述相鄰兩幀圖像上角點(diǎn)的匹配信息,計(jì)算所述相鄰兩幀圖像之間的平移量和旋轉(zhuǎn)角度,作為第二數(shù)據(jù);
將所述第一數(shù)據(jù)和所述第二數(shù)據(jù)進(jìn)行融合,得到融合結(jié)果數(shù)據(jù);對(duì)所述融合結(jié)果數(shù)據(jù)進(jìn)行濾波后,得到所述相鄰兩幀圖像的最終運(yùn)動(dòng)數(shù)據(jù);
根據(jù)所述最終運(yùn)動(dòng)數(shù)據(jù)和所述相鄰兩幀圖像的前一幀圖像,確定所述相鄰兩幀圖像的后一幀圖像,實(shí)現(xiàn)所述相鄰兩幀圖像的穩(wěn)像。
對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上對(duì)本發(fā)明實(shí)施例所提供的一種視頻穩(wěn)像方法及裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。