亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種提高文件拍攝流暢性的方法及系統(tǒng)的制作方法

文檔序號(hào):9397539閱讀:323來(lái)源:國(guó)知局
一種提高文件拍攝流暢性的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及文件拍攝及顯示技術(shù)領(lǐng)域,具體涉及一種提高文件拍攝流暢性的方法及系統(tǒng)。
【背景技術(shù)】
[0002]在通過(guò)視頻進(jìn)行文件拍攝過(guò)程中,一般需要通過(guò)攝像頭或攝像機(jī)采集文件的圖像信息,然后將文件的圖像通過(guò)顯示設(shè)備以視頻的方式展示出來(lái)。在圖像以視頻的方式展示過(guò)程中,大致包括了幀處理、渲染以及顯示三部分。
[0003]幀處理是通過(guò)讀取攝像頭采集的幀數(shù)據(jù)并轉(zhuǎn)換成開(kāi)源計(jì)算機(jī)圖像庫(kù)(OpenSource Computer Vis1nibrary,OpenCV)圖像,并將該圖像送入每個(gè)自定義的過(guò)濾器(Filter)中進(jìn)行處理,過(guò)濾器是基于DirectShow創(chuàng)建的組件對(duì)象模型(COM),執(zhí)行一些多媒體流的操作,如繪圖、批注等。過(guò)濾器的種類(lèi)有很多,不同種類(lèi)的過(guò)濾器相互連接在一起就形成了過(guò)濾器圖表。同時(shí),幀處理過(guò)程還包括通過(guò)開(kāi)源計(jì)算機(jī)圖像庫(kù)對(duì)視頻圖像進(jìn)行的處理包括如視頻繪圖、視頻的旋轉(zhuǎn)、圖像的糾偏、圖像的自動(dòng)捕捉與拍照、圖像的自動(dòng)去黑邊、剪切等,高效率的實(shí)現(xiàn)了視頻圖像的實(shí)時(shí)處理。
[0004]在幀處理過(guò)程中,為了可以提高數(shù)據(jù)的處理速度,一般會(huì)在在通過(guò)dxshow打開(kāi)攝像頭以后創(chuàng)建了一個(gè)線(xiàn)程,該線(xiàn)程專(zhuān)門(mén)負(fù)責(zé)讀取幀數(shù)據(jù)并將該幀數(shù)據(jù)進(jìn)行過(guò)濾器處理,完后調(diào)用渲染模塊,將經(jīng)過(guò)處理后的圖像顯示在用戶(hù)指定的窗口中。但是當(dāng)用戶(hù)啟動(dòng)了繪圖(或批注等)過(guò)濾器后,為了讓繪圖比較流暢,必須要把渲染的幀率提高起來(lái),這時(shí)候就會(huì)出現(xiàn)一個(gè)現(xiàn)象,渲染(刷新)的幀率大于攝像頭本身支持的最大幀率,這個(gè)情況下如果還是每一幀數(shù)據(jù)都從攝像頭獲取,會(huì)拖慢渲染的速度,直接影響了用戶(hù)體驗(yàn)。
[0005]由于在幀處理的時(shí)候引入了開(kāi)源計(jì)算機(jī)圖像庫(kù),這無(wú)疑簡(jiǎn)化了圖像處理的難度,也降低了代碼的復(fù)雜度。但同時(shí)也帶來(lái)了一個(gè)問(wèn)題,就是在渲染的時(shí)候OpenCV的圖像不能直接顯示到屏幕上,而是要先經(jīng)過(guò)轉(zhuǎn)換,把OpenCV的圖像轉(zhuǎn)化為hbitmap (位圖句柄)對(duì)象,即轉(zhuǎn)換成適應(yīng)于位塊轉(zhuǎn)換方式的位圖句柄圖像(位圖句柄圖像是通過(guò)位圖句柄對(duì)OpenCV的圖像進(jìn)行相應(yīng)的編碼形成的圖像),然后通過(guò)bitblt (位塊轉(zhuǎn)換)的方式進(jìn)行圖像的顯示。圖像轉(zhuǎn)換是相當(dāng)損耗CPU的性能的,同時(shí)bitblt的渲染由于沒(méi)有通過(guò)硬件加速,渲染的效率就比較低了,這樣當(dāng)幀數(shù)據(jù)經(jīng)過(guò)幀處理到渲染整個(gè)過(guò)程所需要的時(shí)間就長(zhǎng)了,這個(gè)流暢的時(shí)間長(zhǎng)度直接影響了用戶(hù)的體驗(yàn)。

【發(fā)明內(nèi)容】

[0006]針對(duì)以上不足,本發(fā)明的目的之一在于提供一種提高文件拍攝流暢性的方法,其通過(guò)將渲染的幀數(shù)據(jù)和通過(guò)攝像頭獲取的幀數(shù)據(jù)的速率進(jìn)行分離,刷新較快時(shí)幀進(jìn)行重復(fù)使用,可以在界面操作頻繁的時(shí)候設(shè)置較大的渲染速度,讓繪圖或者批注的操作相對(duì)流暢,同時(shí)通過(guò)異步渲染的方式使得幀處理的邏輯和渲染的邏輯分別運(yùn)行在不同的兩個(gè)線(xiàn)程當(dāng)中,比原來(lái)兩個(gè)邏輯都在同一個(gè)線(xiàn)程當(dāng)中進(jìn)行流水式的操作效率更好,提供了更好的用戶(hù)體驗(yàn)。
[0007]為實(shí)現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案是:
[0008]—種提高文件拍攝流暢性的方法,其包括以下步驟:
[0009]步驟1、通過(guò)攝像頭對(duì)文件進(jìn)行圖像掃描,獲取所述文件的在前視頻圖像;
[0010]步驟2、采集所述在前視頻圖像,并將所述在前視頻圖像以及采集該在前視頻圖像的時(shí)間存儲(chǔ)到存儲(chǔ)單元中;
[0011]步驟3、創(chuàng)建幀處理線(xiàn)程;
[0012]步驟4、通過(guò)幀處理線(xiàn)程對(duì)存儲(chǔ)單元中的在前視頻圖像進(jìn)行幀處理;
[0013]步驟5、幀處理完畢后,創(chuàng)建一渲染隊(duì)列和與所述渲染隊(duì)列對(duì)應(yīng)的渲染隊(duì)列處理線(xiàn)程,所述渲染隊(duì)列在內(nèi)存中建立;
[0014]步驟6、將幀處理后的在前視頻圖像壓入到所述渲染隊(duì)列中;
[0015]步驟7、通過(guò)渲染隊(duì)列處理線(xiàn)程實(shí)時(shí)檢測(cè)所述渲染隊(duì)列中是否存在在前視頻圖像,如果存在,則執(zhí)行步驟8;
[0016]步驟8、通過(guò)渲染隊(duì)列處理線(xiàn)程對(duì)該在前視頻圖像進(jìn)行渲染后使其顯示在用戶(hù)指定的窗口中;
[0017]步驟9、在步驟8中,如果渲染該在前視頻圖像的時(shí)間小于一間隔時(shí)間,則繼續(xù)執(zhí)行步驟8,反之,則執(zhí)行步驟10 ;
[0018]步驟10、對(duì)文件進(jìn)行再次圖像掃描,獲取所述文件的在后視頻圖像,并將該在后視頻圖像依次執(zhí)行步驟2、4、6、7的操作,所述間隔時(shí)間為采集所述在后視頻圖像的時(shí)間與采集在前視頻圖像的時(shí)間之差。
[0019]所述步驟I還包括通過(guò)麥克風(fēng)捕獲音頻信息,并將所述音頻信息經(jīng)步驟2-10進(jìn)行處理。
[0020]所述步驟4中,幀處理線(xiàn)程將在前視頻圖像轉(zhuǎn)換成開(kāi)源計(jì)算機(jī)圖像庫(kù)圖像,所述步驟8中,渲染隊(duì)列處理線(xiàn)程將所述開(kāi)源計(jì)算機(jī)圖像庫(kù)圖像先轉(zhuǎn)換成位圖句柄圖像,然后再將位圖句柄圖像通過(guò)位塊轉(zhuǎn)換的方式在顯示在用戶(hù)指定的窗口中。
[0021]所述步驟4中,每次幀處理后執(zhí)行掛起操作,所述間隔時(shí)間包括該掛起的時(shí)間。
[0022]所述步驟4中,如果在單位時(shí)間內(nèi)從攝像頭獲取的視頻圖像幀數(shù)大于幀處理的視頻圖像幀數(shù),則執(zhí)行丟幀操作,所述丟幀操作為將多余部分不進(jìn)行幀處理以及渲染而直接釋放,所述多余部分為在單位時(shí)間內(nèi)從攝像頭獲取的視頻圖像幀與幀處理的視頻圖像幀相減后的視頻圖像幀。
[0023]本發(fā)明的另一目的在于提供一種提高文件拍攝流暢性的系統(tǒng),其通過(guò)將渲染的幀數(shù)據(jù)和通過(guò)攝像頭獲取的幀數(shù)據(jù)的速率進(jìn)行分離,刷新較快時(shí)幀進(jìn)行重復(fù)使用,可以在界面操作頻繁的時(shí)候設(shè)置較大的渲染速度,讓繪圖或者批注的操作相對(duì)流暢,同時(shí)通過(guò)異步渲染的方式使得幀處理的邏輯和渲染的邏輯分別運(yùn)行在不同的兩個(gè)線(xiàn)程當(dāng)中,比原來(lái)兩個(gè)邏輯都在同一個(gè)線(xiàn)程當(dāng)中進(jìn)行流水式的操作效率更好,提供了更好的用戶(hù)體驗(yàn)。
[0024]為實(shí)現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案是
[0025]—種提高文件拍攝流暢性的系統(tǒng),其包括:
[0026]圖像掃描單元,用于通過(guò)攝像頭對(duì)文件進(jìn)行圖像掃描,獲取所述文件的在前視頻圖像;
[0027]圖像采集和存儲(chǔ)單元,采集所述在前視頻圖像,并將所述在前視頻圖像以及采集該在前視頻圖像的時(shí)間存儲(chǔ)到存儲(chǔ)單元中;
[0028]幀處理線(xiàn)程創(chuàng)建單元,用于創(chuàng)建幀處理線(xiàn)程;
[0029]幀處理單元,用于通過(guò)幀處理線(xiàn)程對(duì)存儲(chǔ)單元中的在前視頻圖像進(jìn)行幀處理;
[0030]渲染隊(duì)列創(chuàng)建單元,用于在幀處理完畢后,創(chuàng)建一渲染隊(duì)列和與所述渲染隊(duì)列對(duì)應(yīng)的渲染隊(duì)列處理線(xiàn)程,所述渲染隊(duì)列在內(nèi)存中建立;
[0031]壓入單元,用于將幀處理后的在前視頻圖像壓入到該渲染隊(duì)列中;
[0032]檢測(cè)單元,用于通過(guò)渲染隊(duì)列處理線(xiàn)程實(shí)時(shí)檢測(cè)所述渲染隊(duì)列中是否存在在前視頻圖像,如果存在,則執(zhí)行渲染和顯示單元;
[0033]渲染和顯示單元,用于通過(guò)渲染隊(duì)列處理線(xiàn)程對(duì)該在前視頻圖像進(jìn)行渲染后使其顯示在用戶(hù)指定的窗口中;
[0034]比較單元,用于在渲染和顯示單元中,如果渲染該在前視頻圖像的時(shí)間小于一間隔時(shí)間,則繼續(xù)執(zhí)行渲染和顯示單元,反之,則執(zhí)行圖像再掃描單元;
[0035]圖像再掃描單元,用于對(duì)文件進(jìn)行再次圖像掃描,獲取所述文件的在后視頻圖像,并將該在后視頻圖像依次執(zhí)行圖像采集和存儲(chǔ)單元、幀處理單元、壓入單元以及渲染和顯示單元的操作,所述間隔時(shí)間為采集所述在后視頻圖像的時(shí)間與采集在前視頻圖像的時(shí)間之差。
[0036]所述圖像掃描單元還包括音頻信息采集單元,用于通過(guò)麥克風(fēng)捕獲音頻信息,并將所述音頻信息經(jīng)圖像采集和存儲(chǔ)單元、幀處理線(xiàn)程創(chuàng)建單元、幀處理單元、渲染隊(duì)列創(chuàng)建單元、壓入單元、檢測(cè)單元、清染和顯示單元、比較單元和圖像再掃描單元依次進(jìn)行處理。
[0037]所述幀處理單元中,幀處理線(xiàn)程將在前視頻圖像轉(zhuǎn)換成開(kāi)源計(jì)算機(jī)圖像庫(kù)圖像,所述渲染和顯示單元中,渲染隊(duì)列處理線(xiàn)程將所述開(kāi)源計(jì)算機(jī)圖像庫(kù)圖像先轉(zhuǎn)換成位圖句柄圖像,然后再將位圖句柄圖像通過(guò)位塊轉(zhuǎn)換的方式在顯示在用戶(hù)
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1