国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于labVIEW和API的實時視頻捕捉

2015-12-02 02:39:50陳希球田有成
關(guān)鍵詞:句柄數(shù)據(jù)類型調(diào)用

陳希球,田有成

(1.長江工程職業(yè)技術(shù)學(xué)院,武漢430212;2.長江中游水文水資源勘測局,武漢430010)

美國國家儀器公司(National Instruments)的軟件產(chǎn)品labVIEW,以圖形化編程模式更顯直觀高效,同時又不乏靈活性。其應(yīng)用范圍覆蓋工業(yè)自動化、測試測量、嵌入式應(yīng)用、運動控制、圖象處理、計算機仿真等眾多領(lǐng)域。在圖象處理方面,提供了極其豐富的處理與算法分析函數(shù),易于用戶構(gòu)建處理系統(tǒng),縮短了系統(tǒng)開發(fā)周期。由于NI公司提供的圖象采集卡價格不菲,構(gòu)建應(yīng)用系統(tǒng)時,硬件采用通用圖象采集卡,再利用labVIEW強大的軟件資源,不失為明智之舉,既節(jié)省成本,又方便軟件設(shè)計。

1 調(diào)用庫節(jié)點與相關(guān)AIP

1.1 調(diào)用庫節(jié)點

labVIEW的互聯(lián)接口函數(shù)面板中提供了調(diào)用庫函數(shù)節(jié)點(CLN),利用CLN可以調(diào)用DLL和API函數(shù)。在使用CLN節(jié)點時,需要利用對話框配置調(diào)用環(huán)境,包括指定DLL或API對應(yīng)文件的路徑,調(diào)用規(guī)范應(yīng)選用stdcall(WINAPI),在線程選項中應(yīng)選擇“在UI線程中運行”選項。不同函數(shù)的參數(shù)個數(shù)和參數(shù)數(shù)據(jù)類型都不盡相同,在配置時要按函數(shù)的要求增加相應(yīng)參數(shù)并選擇對應(yīng)的數(shù)據(jù)類型,在選擇數(shù)據(jù)類型時要注意labVIEW中的數(shù)據(jù)類型與C語言的對應(yīng)關(guān)系。

1.2 與視頻處理相關(guān)API

Window提供了實時音視頻處理動態(tài)鏈接庫avicap32.DLL,可以創(chuàng)建捕捉窗口,并通過向窗口發(fā)送消息實現(xiàn)視頻捕捉。其相關(guān)函數(shù)和消息說明如下:

capCreateCaptureWindow為建立捕捉窗口,參數(shù)分別為新建窗口標(biāo)題、窗口風(fēng)格、窗口相對父窗口的坐標(biāo)、窗臺的寬度和高度、父窗口句柄和窗口ID。如果窗口建立成功,則返回捕捉窗口句柄。

LRESULT SendMessage (HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam)函數(shù)將指定的消息發(fā)送到一個或多個窗口。參數(shù)hWnd為接收消息的窗口的句柄,Msg為指定被發(fā)送的消息,wParam和IParam指定附加的消息特定信息。主要與視頻捕捉有關(guān)的消息。①WM_CAP_SET_PREⅥEW ,設(shè)置預(yù)覽模式;②WM_CAP_SET_OVERLAY ,設(shè)置覆蓋;③WM_CAP_SET_PREⅥEWRATE,設(shè)置采樣幀速率;④WM_CAP_GRAB_FRame,捕捉單幀作為靜止圖象;⑤WM_CAP_DRIVER_CONNECT ,連接攝像機;⑥WM_CAP_DRIVER_DISCONNECT,斷開攝像機。

HWND FindWindow (LPCSTR lpClass-Name,LPCSTR lpWindowName)函數(shù)為查找指定程序的窗口句柄,本應(yīng)用中主要用來查找前面板的窗口句柄。參數(shù)lpClassName為指向一個以null結(jié)尾的、用來指定類名的字符串或一個可以確定類名字符串的原子,lpWindowName為指定窗口標(biāo)題的字符串。

2 labVIEW環(huán)境下視頻捕捉實現(xiàn)

labVIEW的主流編程模式為數(shù)據(jù)流驅(qū)動模式,根據(jù)視頻捕捉的實際應(yīng)用,軟件設(shè)計采用事件驅(qū)動模式來實現(xiàn),前面板設(shè)計連接攝像機、斷開攝像機、單幀捕捉三個按鈕,用戶通過點擊相應(yīng)的按鈕實現(xiàn)其對應(yīng)功能。連接攝像機按鈕對應(yīng)程序流程圖如圖1所示。

圖1 連接攝像機按鈕事件流程圖

對應(yīng)labVIEW程序如圖2所示。如果用戶的labVIEW環(huán)境支持私有屬性節(jié)點,也可通過對windows剪切板操作捕捉圖象的復(fù)制與粘貼,從而可簡化程序設(shè)計。圖3為程序運行效果圖。

圖2 連接攝像機按鈕事件labVIEW程序圖

圖3 視頻捕捉程序前面板圖

其它兩個按扭的程序設(shè)計與連接攝像機按扭類似。程序中要建立共享變量將視頻窗口句柄在不同事件結(jié)構(gòu)中傳遞,以實現(xiàn)對同一窗口的消息發(fā)送。

3 結(jié) 論

labVIEW具有豐富的函數(shù)資源,同時提供了多種與外部程序的接口,使用labVIEW環(huán)境開發(fā)應(yīng)用程序可以簡化算法設(shè)計,起到事半功倍的效果。本視頻捕捉程序在lab-VIEW2012和windows8環(huán)境調(diào)試通過。

[1]陳樹學(xué),劉 萱.LABVIEW寶典[M].北京:電子工業(yè)出版社,2012.

[2]楊樂平.LABVIEW高級程序設(shè)計[M].北京:清華大學(xué)出版社,2007.

猜你喜歡
句柄數(shù)據(jù)類型調(diào)用
詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型
核電項目物項調(diào)用管理的應(yīng)用研究
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
高校圖書館持久標(biāo)識符應(yīng)用研究
編譯程序語法分析句柄問題分析與探討
基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
MFC應(yīng)用程序多線程混合顯示界面方法研究
利用RFC技術(shù)實現(xiàn)SAP系統(tǒng)接口通信
基于SPY++的軟件功能擴展的研究
城市| 黄梅县| 定兴县| 新巴尔虎右旗| 沈丘县| 新建县| 红桥区| 云龙县| 连江县| 同仁县| 北安市| 新昌县| 兴宁市| 天祝| 武清区| 峨边| 肥乡县| 和林格尔县| 南雄市| 夏邑县| 沾化县| 瑞金市| 长治市| 乌审旗| 怀来县| 会理县| 湖口县| 辽中县| 稻城县| 克山县| 延长县| 巢湖市| 普兰县| 桃江县| 纳雍县| 民勤县| 兰西县| 浙江省| 嘉兴市| 台州市| 油尖旺区|