亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于LabVIEW的實時監(jiān)控視頻調用的三種模型研究

        2020-02-22 03:58:10楊慧聞張嘉琪
        電腦知識與技術 2020年36期

        楊慧聞 張嘉琪

        摘要:當前各行業(yè)的各種類型的監(jiān)控攝像頭的安裝越來越普及,在交通測流、檢測車輛違章、銀行安保、工廠運行監(jiān)控、產(chǎn)品加工等各方面都需要進行實時監(jiān)控,并且對所獲取到的監(jiān)控視頻進行分析和視覺應用(包括但不限于測量測定、顏色處理、識別處理、定位引導等),為了解決監(jiān)控攝像頭的實時監(jiān)控影像的在LabVIEW中的調用,提出了三種基于LabVIEW平臺上的針對兩種不同類型(ip攝像頭,usb攝像頭)的監(jiān)控視頻畫面的實時調用,利用LabVIEW平臺的視覺圖像處理模塊VDM(Vision Development Module)、視頻流SDK二次開發(fā)、VLC多媒體播放器調用等技術編寫程序模型,實現(xiàn)實時監(jiān)控畫面在LabVIEW中的調用。

        關鍵詞:實時預覽;LabVIEW;SDK二次開發(fā);VDM

        中圖分類號:TP311.1? ? ? 文獻標識碼:A

        文章編號:1009-3044(2020)36-0238-05

        Abstract: at present, the installation of various types of surveillance cameras in various industries is becoming more and more popular, which needs real-time monitoring in traffic flow measurement, vehicle violation detection, bank security, factory operation monitoring, product processing and other aspects, as well as analysis and visual application of the obtained surveillance video (including but not limited to measurement and measurement, color processing, identification processing, setting In order to solve the call of the real-time monitoring image of the monitoring camera in LabVIEW, three kinds of real-time calls for two different types of monitoring video images (IP camera, USB camera) based on LabVIEW platform are proposed, and the vision development module VDM (vision development) of LabVIEW platform is used Module), secondary development of video stream SDK, call of VLC multimedia player and other technologies are used to write program models to realize the call of real-time monitoring screen in LabVIEW.

        Key words: Live preview; LabVIEW; SDK secondary development; VDM

        1 背景

        當前隨著我國經(jīng)濟的快速發(fā)展和消費者安全意識的逐漸提高,各個行業(yè)的根據(jù)其自身需求,都會大量使用到各種類型的實時監(jiān)控攝像頭,促使監(jiān)控攝像頭在視頻影像主流應用層面快速發(fā)展。尤其是在這些場景下: 測定/測量包括原始零件的測量、關鍵尺寸的檢查、角度、范圍、直徑、尺寸、中心線、垂直等的測定;圖像識別和圖像處理包括圖像的標識、字符、二維碼、條碼的定位、圖像的灰度化、二值化處理和圖像的準確識別;定位/引導包括先進的自動化技術或機器人設備、零部件的高精度裝配和完成其他精細生產(chǎn)工藝[1]。雖然實時監(jiān)控攝像頭產(chǎn)品作為前端應用產(chǎn)品其技術的發(fā)展也已經(jīng)可以到達4k左右的規(guī)模,但對于其后端產(chǎn)品相關技術的深入研究和應用存在一定的不足,尤其在如何實現(xiàn)實時的監(jiān)控視頻影像在其開發(fā)應用平臺過程中的管理和調用是其面臨的主要技術問題之一。

        LabVIEW是一種新興的網(wǎng)絡虛擬儀器(virtual instrumention),利用圖形化的編輯語言,采用框圖式的程序設計,將計算機開發(fā)平臺與實驗室虛擬儀器聯(lián)系起來,是未來儀器開發(fā)的一種新趨勢。LabVIEW集成了適用于多種協(xié)議的軟硬件開發(fā)和各種類型數(shù)據(jù)采集卡的應用功能,內置便于實際操作TCP/IP、ActiveX控件的庫函數(shù)。

        本文針對兩種監(jiān)控攝像頭類型(IP網(wǎng)絡攝像頭[2]和USB攝像頭)實時畫面的調用,設計了三種模型進行研究。在對網(wǎng)絡攝像頭實時畫面的調用研究中,設計了一種基于攝像頭設備視頻流源SDK二次開發(fā)的影像實時調用程序模型,另一種是基于VLC多媒體播放器的ActiveX控件在LabVIEW程序中的調用,通過RTSP取流協(xié)議實現(xiàn)IP攝像頭實時預覽的程序模型。此外,在對USB攝像頭的實時影像調用的研究中,設計一種基于LabVIEW中VDM(Vision Development Module)視覺開發(fā)工具實時調用監(jiān)控畫面的程序模型,三種模型如圖1所示:

        2 針對IP網(wǎng)絡攝像頭實時調用的程序模型

        2.1 設備介紹

        ??低暋狣S紅外點陣筒型網(wǎng)絡攝像機

        設備型號DS-2CD3T86FWDV2-I3S? 6mm

        電源:12V

        如圖2、圖3所示:

        2.2 基于攝像頭視頻源SDK二次開發(fā)的視頻實時調用程序模型

        攝像頭SDK開發(fā)工具(software development kit)是由制造商??低暬谄渥杂蠭P通信協(xié)議自主研發(fā)的,為其產(chǎn)品包括不限于高清數(shù)字攝像機、視頻監(jiān)控產(chǎn)品、網(wǎng)絡攝像機、無人機產(chǎn)品、客戶端視頻軟件、手持可穿戴產(chǎn)品等提供無線網(wǎng)絡配套服務,用于對無線網(wǎng)絡或有線局域網(wǎng)的訪問和對產(chǎn)品控制軟件的應用進行二次開發(fā)。SDK主要的功能[3]包括實時預覽、產(chǎn)品控制、設備升級、設備的數(shù)據(jù)格式化和恢復、無線訪問和傳輸數(shù)據(jù)、設備使用情況日志等。程序設計模型要成功實現(xiàn)對監(jiān)控設備視頻的實時預覽和控制功能,需要基于制造商??低暤脑碨DK動態(tài)鏈接庫的實時預覽和控制功能,進行二次開發(fā)。

        DLL(Dynamic Link Library,動態(tài)鏈接庫)以后綴名.dll為格式[4],包含??低暜a(chǎn)品二次開發(fā)的代碼、數(shù)據(jù)、多個應用程序的可執(zhí)行文件,程序的注冊登錄函數(shù)和實時預覽函數(shù)等函數(shù)名和變量符號都包含在其引入庫(.lib)中。所以當程序需要使用一個DLL來調用數(shù)據(jù)庫函數(shù)執(zhí)行動態(tài)開發(fā)時,只需要手動鏈接一個DLL中的引入庫文件。其中的函數(shù)代碼和應用程序運行時的數(shù)據(jù)不會同時被應用程序復制,只有當應用程序運行時,才將自動加載所需DLL的引入庫文件。

        設備的DLL動態(tài)鏈接庫在一般的情況下不能直接獨立的運行,也就是程序不會自行去發(fā)送或接收消息。動態(tài)鏈接庫往往看起來像是一些單獨的文件,內包含有可鏈接的多個函數(shù),當某一個庫函數(shù)名被調用,其才會在內存中加載一次,避免了多次調用相同庫函數(shù)產(chǎn)生的資源冗余。程序按下列六步驟進行編寫:

        1)提前設置子VI,將所需控件添加到連接端。

        2)在DLL庫中選擇調用函數(shù)名,所用到的庫函數(shù)見5),建立新的VI,選擇端口和路徑的時候我們需要指定該端口到??低暤腟DK文件夾。在使用函數(shù)值表示輸出的端口類型上,選擇新的輸出Pointto value,然后選中“Specify path or diagram”,表示系統(tǒng)會動態(tài)檢查和調用該輸出DLL文件,此時端口和路徑取決于最上端的路徑或者輸入端,Libraryname or path里輸入的端口和路徑可能無效。在輸出parameters頁,系統(tǒng)會自動檢查和添加DLL的輸入、輸出端口,如果添加不完整,則應該需要手動檢查DBL,輸入:Value;DBL相應輸出為Pointerto Value即可。

        3)輸出終端前應檢查是否有給每個DLL賦初始值,如果需要輸出的終端數(shù)組沒有初始值,則表示整個DBL數(shù)組以及不能正常進行數(shù)據(jù)輸出。len、 len2分別為一個輸入數(shù)組、輸出數(shù)組的個數(shù),需將這兩個數(shù)組參數(shù)設置默認為與實際的輸入數(shù)組初始值大小一致。

        4)在調用規(guī)范中選擇stdcall調用方式。在sdk調用的規(guī)范里面分別規(guī)定了對庫函數(shù)的兩種執(zhí)行調用的方式,即分別執(zhí)行stdcall(WINAPI)和Call調用。兩者的主要區(qū)別在于是分別由被執(zhí)行的調用者或調用者自己負責清理和創(chuàng)建堆棧。此次程序采用的是海康威視攝像頭提供的DLL,選擇了stdcall調用的規(guī)范。

        5)對于線程選用默認狀態(tài)為在UI線程中運行即可。

        6)在庫名/路徑選項下選擇正確的sdk開發(fā)文件地址,以及實時調用所用到的庫函數(shù)。實時調用預覽需要通過庫函數(shù)名和運行流程如圖4所示。調用庫函數(shù)對話框中需要將調用規(guī)范設置為stdcall(WINAPI)調用,在參數(shù)頁中設置調用庫函數(shù)返回值的類型為Void,添加參數(shù)設置input參數(shù)設置為—維雙精度浮點型數(shù)組,數(shù)組返回值格式可以作為數(shù)組的數(shù)據(jù)指針。通過添加參數(shù)設置input length為整型傳值參數(shù),添加output參數(shù)為一維32位整型數(shù)組。

        根據(jù)sdk二次開發(fā),所設計的實現(xiàn)實時調用監(jiān)控畫面的LabVIEW程序圖前后面板如圖5,圖6所示:

        2.3 基于VLC多媒體播放器的程序模型

        VLC(VideoLan)是一款支持多種視頻播放格式的開源播放器,可以實時解析通過URL(統(tǒng)一資源定位系統(tǒng),uniform resource locator)方式取流獲得的設備通道、地址、用戶名和密碼等信息。RTSP (Rapid Spanning Tree Protocol)為取流的協(xié)議,取到的碼流后需要經(jīng)過解碼才能顯示,可以通過 Activex顯示控件(ocx顯示控件)在程序中實現(xiàn)實時調用監(jiān)控影像的設計。LabVIEW中ActiveX程序允許播放動畫,可以加載VLC播放器實現(xiàn)取流過程。

        RTSP取流 URL規(guī)定:

        rtsp://username:password@//ch/

        URL描述:

        rtsp://設備用戶名和密碼@<設備IP地址>//ch<通道號>/<碼流類型>

        程序所使用的海康威視網(wǎng)絡攝像頭的RTSP取流為:rtsp://admin:asd123123@192.168.3.25:554/h264/ch33/main/av_stream

        VLC的ActiveX控件

        因為視頻編碼采用VLC進行串流,所以在程序中設計實時預覽時相應的也要使用VLC解碼(調用VLC Active X控件)。下圖7,8為實現(xiàn)基于VLC編寫的實時調用監(jiān)控畫面的LabVIEW程序圖,若復制程序,則可支持多路攝像頭;

        3 針對USB網(wǎng)絡攝像頭實時調用的程序模型

        3.1 基于LabVIE的VDM工具的USB攝像頭的實時預覽模型

        VDM即Vision Development Module(視覺開發(fā)模塊)該模塊是用來在LabVIEW中實現(xiàn)對圖像和視頻流進行開發(fā)的工具包,包含了圖像多種圖像處理和編輯的庫函數(shù)[6],程序按下述本程序按下七步驟進行編寫:

        1)首先使用圖像創(chuàng)建函數(shù)IMAQ Create,此函數(shù)主要參數(shù)為Border Size(邊界值的大小),當使用圖像處理函數(shù)子選板進行對像素的處理,需要確定一個參考圖中相鄰兩個像素的邊界值。當給定了邊界的像素數(shù),而像素的值取決于所使用的圖像處理函數(shù)。對于圖像名默認設置為任意字符串即可,而圖像類型要采用U32,因為調用的視頻圖像為彩色圖像。

        2)使用攝像頭函數(shù)IMAQdx Open Camera VI為用戶打開現(xiàn)有的相機或其他設備,查看所有攝像頭,同時查看需要添加攝像頭的配置文件。

        3)之后使用函數(shù)IMAQdx Close Camera VI為了停止對圖像的獲取,釋放出為讀取圖像數(shù)據(jù)所占用的設備所需資源,然后關閉相機。

        4)使用加載和抓拍函數(shù)IMAQdx Configure Grab VI。其主要作用于在相機設備的緩沖區(qū)內快速反復的加載和采集相機圖像,同時快速復制圖像。倘若在加載或調用函數(shù)時在IMAQdx Open Camera VI之前已經(jīng)加載或調用此了函數(shù)的VI,則IMAQdx Configure Grab VI意味著函數(shù)使用了默認的相機設備cam0。取消函數(shù)IMAQdx Unconfigure Acquisition VI的加載和調用為了完全取消此函數(shù)在該步驟的配置獲取的圖像。

        5)使用獲取圖像當前幀數(shù)的函數(shù)IMAQdx Grab VI。在上一個攝像頭的函數(shù)中調用IMAQdx Configure Grab VI調用之后應該再次調用此VI。當圖像類型與視頻流輸出類型不匹配時,函數(shù)會默認將圖像轉為合適格式。

        6)刪除圖像函數(shù)IMAQ Dispose VI為設備釋放內存空間。為使得程序運行的流暢且及時釋放其占據(jù)的內存,新建的每一個圖像都需要重新建立一個這樣的VI。當最后運行結束的程序不再需要調用所需要的映像時調用函數(shù)IMAQ Dispose。

        7)程序使用While循環(huán)程序結構方便連續(xù)同時運行多個圖像的采集程序,只有在出現(xiàn)錯誤或者手動點擊循環(huán)停止按鈕時,循環(huán)方才自動停止,采集程序隨即終止,且自動關閉已重新打開的攝像頭,清除所有圖像的緩存,釋放系統(tǒng)內存[7]。

        前面板:cam 0默認為計算機自帶攝像頭。拍照:在前面板上增加一個拍照按鈕,在按下拍照按鈕時,負責采集圖像的程序啟動,拍下一張照片,并顯示到前面板,拍照功能通過Case結構實現(xiàn),按鈕在默認情況下,是0,按下時為1,松開又恢復為0。

        LabVIEW的條件結構相當于C語言中的

        if(表達式){……}

        else{……}

        和switch結構:

        switch(表達式)

        {case值1:語句1break;

        case值2:語句2break;

        default:語句nbreak;}

        該設計有兩個Case,即1和0,當輸入值為1(真)時,即按下拍照按鈕,拍照程序運行,否則,不運行拍照程序。

        模型程序如圖9,10所示

        4 模型驗證及結論

        在調用??低暩咔鍞z像頭作為模型設備運行程序時,在地址處填入與電腦同局域網(wǎng)地址為192.168.1.1,用戶名為admin,設備密碼為asd123123,程序運行均顯示正確且流暢運行,運行結果如圖11,圖12,圖13所示,三種程序模型皆能完全實現(xiàn)該視頻設備監(jiān)控影像的實時調用和預覽。??低暿菄鴥认冗M監(jiān)控設備制造商和開發(fā)者,在實現(xiàn)該設備的IP和USB兩種類型的實時調用后,其他廠商的相同類型設備,只要基于設備源sdk或者編解碼流,在本程序模型中均能正確完成實時調用和預覽。

        參考文獻:

        [1] 施瀅.智能視頻監(jiān)控與檢索系統(tǒng)開發(fā)[D].南京:南京理工大學,2016.

        [2] 曾帥,李樂民,廖丹.一種基于視頻轉碼與IP組播的媒體推送系統(tǒng)設計[J].計算機應用研究,2013,30(2):521-524.

        [3] 夏寅昕.大型客機駕駛艙機組行為監(jiān)測系統(tǒng)設計[D].上海:上海交通大學,2011.

        [4] 李高升,周東明,何建國,等.LabVIEW中DLL文件的創(chuàng)建及其應用[J].現(xiàn)代電子技術,2005,28(5):24-25,30.

        [5] 謝其德,張云云.動態(tài)鏈接庫在LabVIEW中的高級應用[J].微計算機信息,2004,20(10):45-46.

        [6] 蘭晶.基于Labview的人臉識別系統(tǒng)的研究與實現(xiàn)[D].北京:北京郵電大學,2015.

        [7] 李德堯,李和平.基于LabVIEW VDM的鎖螺絲機器人控制系統(tǒng)設計[J].機床與液壓,2018,46(23):61-64.

        【通聯(lián)編輯:謝媛媛】

        日本熟妇精品一区二区三区| 欧洲精品免费一区二区三区| 无遮无挡三级动态图| 无码伊人久久大杳蕉中文无码| 一区二区三区极品少妇| 久久精品国产99国产精偷| 亚洲 自拍 另类 欧美 综合 | 久久中文字幕暴力一区| 日本大骚b视频在线| 最近高清中文在线字幕观看| 日韩国产自拍精品在线| 熟女肥臀白浆一区二区| 国产精品欧美一区二区三区不卡| 亚洲手机国产精品| 综合人妻久久一区二区精品| 国产自拍av在线观看视频| 免费无码一区二区三区蜜桃大| 亚洲tv精品一区二区三区| 三个黑人插一个女的视频| 欧美大屁股xxxx高潮喷水| 成 人 网 站 免 费 av| 国产精品,在线点播影院| 亚洲一区二区三区99| 亚洲av日韩av天堂一区二区三区 | 少妇激情高潮视频网站| 亚洲精品一品区二品区三品区| 国产伦精品一区二区三区视| 国产av一区二区内射| 国产精品久久国产精麻豆99网站| 亚洲av无码之日韩精品| 国产亚洲av人片在线播放| 超级乱淫片国语对白免费视频| 国产麻豆精品久久一二三| 国内精品久久久久国产盗摄 | 国产成年无码久久久久下载| 日本免费一区二区三区影院| 亚洲av无码之国产精品网址蜜芽| 欧美日韩中文亚洲另类春色| 91久久精品一区二区| 波多野结衣的av一区二区三区| 手机在线精品视频|