999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LabVIEW的實時監控視頻調用的三種模型研究

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

楊慧聞 張嘉琪

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

關鍵詞:實時預覽;LabVIEW;SDK二次開發;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 背景

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

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

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

2 針對IP網絡攝像頭實時調用的程序模型

2.1 設備介紹

海康威視—DS紅外點陣筒型網絡攝像機

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

電源:12V

如圖2、圖3所示:

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

攝像頭SDK開發工具(software development kit)是由制造商海康威視基于其自有IP通信協議自主研發的,為其產品包括不限于高清數字攝像機、視頻監控產品、網絡攝像機、無人機產品、客戶端視頻軟件、手持可穿戴產品等提供無線網絡配套服務,用于對無線網絡或有線局域網的訪問和對產品控制軟件的應用進行二次開發。SDK主要的功能[3]包括實時預覽、產品控制、設備升級、設備的數據格式化和恢復、無線訪問和傳輸數據、設備使用情況日志等。程序設計模型要成功實現對監控設備視頻的實時預覽和控制功能,需要基于制造商海康威視的源SDK動態鏈接庫的實時預覽和控制功能,進行二次開發。

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

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

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

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

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

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

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

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

根據sdk二次開發,所設計的實現實時調用監控畫面的LabVIEW程序圖前后面板如圖5,圖6所示:

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

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

RTSP取流 URL規定:

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

URL描述:

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

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

VLC的ActiveX控件

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

3 針對USB網絡攝像頭實時調用的程序模型

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

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

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

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

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

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

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

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

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

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

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

if(表達式){……}

else{……}

和switch結構:

switch(表達式)

{case值1:語句1break;

case值2:語句2break;

default:語句nbreak;}

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

模型程序如圖9,10所示

4 模型驗證及結論

在調用海康威視高清攝像頭作為模型設備運行程序時,在地址處填入與電腦同局域網地址為192.168.1.1,用戶名為admin,設備密碼為asd123123,程序運行均顯示正確且流暢運行,運行結果如圖11,圖12,圖13所示,三種程序模型皆能完全實現該視頻設備監控影像的實時調用和預覽。海康威視是國內先進監控設備制造商和開發者,在實現該設備的IP和USB兩種類型的實時調用后,其他廠商的相同類型設備,只要基于設備源sdk或者編解碼流,在本程序模型中均能正確完成實時調用和預覽。

參考文獻:

[1] 施瀅.智能視頻監控與檢索系統開發[D].南京:南京理工大學,2016.

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

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

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

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

[6] 蘭晶.基于Labview的人臉識別系統的研究與實現[D].北京:北京郵電大學,2015.

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

【通聯編輯:謝媛媛】

主站蜘蛛池模板: 婷婷六月综合网| 91色在线观看| 国产在线一区视频| 欧美一级在线看| 国产JIZzJIzz视频全部免费| 国产亚洲成AⅤ人片在线观看| 高潮爽到爆的喷水女主播视频| 国产一级做美女做受视频| 538国产视频| 欧美一级片在线| 91精品国产一区自在线拍| 九九九久久国产精品| 婷婷99视频精品全部在线观看| 毛片大全免费观看| 亚洲第一黄片大全| 国产精品无码AV中文| 国模沟沟一区二区三区| 久久福利片| 青青热久免费精品视频6| 国内精品自在欧美一区| 精久久久久无码区中文字幕| 无码精品福利一区二区三区| 亚洲欧美一区二区三区麻豆| 精品国产香蕉伊思人在线| 国产精品无码久久久久久| 婷婷色一二三区波多野衣| 91福利免费视频| 少妇精品久久久一区二区三区| 成人综合在线观看| 精品福利网| 九九九精品视频| 激情乱人伦| 天天综合网色| 国产成+人+综合+亚洲欧美| 超碰aⅴ人人做人人爽欧美| 亚洲无码A视频在线| 女人18毛片久久| 18禁黄无遮挡网站| 精品成人免费自拍视频| 久久一级电影| 福利片91| 亚洲六月丁香六月婷婷蜜芽| 色哟哟色院91精品网站| 国产成人免费高清AⅤ| 国产精品内射视频| 亚洲免费三区| 欧美亚洲国产视频| 国产精品无码一二三视频| 久996视频精品免费观看| 蝴蝶伊人久久中文娱乐网| 自拍偷拍一区| 玩两个丰满老熟女久久网| 亚洲一区无码在线| 丁香五月激情图片| 色综合中文| 成人免费视频一区二区三区| 精品久久777| 国产电话自拍伊人| 亚洲精品人成网线在线| 国产精品网址在线观看你懂的| 69精品在线观看| 亚洲色图欧美视频| 国产杨幂丝袜av在线播放| 美女扒开下面流白浆在线试听 | 国产一二视频| 亚洲色图综合在线| 欧美性猛交xxxx乱大交极品| 99久久精品视香蕉蕉| 亚洲IV视频免费在线光看| 国产精品亚洲片在线va| 国产婬乱a一级毛片多女| 亚洲成人动漫在线观看| 欧美h在线观看| 国产成人免费视频精品一区二区 | 亚洲中文制服丝袜欧美精品| 999福利激情视频| 97久久超碰极品视觉盛宴| 亚洲Av激情网五月天| 欧美色99| 久久综合亚洲鲁鲁九月天| 国产欧美精品一区二区| 午夜视频免费一区二区在线看|