如何通過Opencv4nodejs實現(xiàn)視頻流解析與獲?
本文我們學習一個新的工具,即Opencv4nodejs。它不是基于python的OpenCV,而是基于nodejs的OpenCV。OpenCV在計算機視覺應用中起到至關重要的作用,我們可以使用Opencv4nodejs在web應用中應用OpenCV,實現(xiàn)各種應用,包括人臉檢測、人臉標記檢測、人臉識別,甚至深度神經(jīng)網(wǎng)絡的目標識別等等…
本文,我們將獲取攝像頭并將其放入節(jié)點應用程序中,然后使用Express node js和Socket IO托管它。在深入研究opencv4nodejs的人工智能部分之前,讓我們先看一下實現(xiàn)的基本步驟。步驟:導入所需的庫。從本地計算機捕獲視頻源。獲取視頻源并將其流格式傳輸?shù)絯eb應用程序中。創(chuàng)建一個基本的html文件或創(chuàng)建一個EJS模板。
在客戶端使用Socket IO庫將客戶端連接到本地主機或任何網(wǎng)絡讓客戶收聽該圖像并對其進行編碼為FramesPerSecond設置一個常量值
第一步:這里是必需的庫Opencv4nodejsExpresshttpSocket IOPath如圖所示導入它們
第二步:現(xiàn)在我們需要從本地機器上獲取視頻,
你們可以看到這看起來不像python代碼!
第三步:獲取視頻源并使用適當?shù)臅r間間隔將其流式傳輸?shù)絯eb應用程序中,即我們將對任何正在收聽我們服務器的人進行公開廣播。這也是我們的服務器端。
我們已經(jīng)獲得了視頻捕獲和編碼的圖像。我們之所以要編碼,是因為所有被捕獲的圖像都是以矩陣格式讀取的,這也是我們需要將它們編碼為base64的主要原因,然后該字符串將通過萬能的Socket IO進行廣播。服務器端所需的所有設置都已完成,接下來實現(xiàn)客戶端。
第四步:
對于客戶端,沒有創(chuàng)建一個普通的HTML文件,而是創(chuàng)建了一個EJS模板,如果你要執(zhí)行git repo,請按照GitHub(https://github.com/narenltk)進行操作,我提供了在執(zhí)行git克隆時如何使用它的必要步驟。
第五步:現(xiàn)在在客戶端已經(jīng)下載Socket IO庫,即使用鏈接:https://cdnjs.com/libraries/socket.io
第六步:將客戶端連接到具有指定端口的本地主機,或者像我所做的那樣讓它偵聽任何網(wǎng)絡。你可以參考上面的圖片。
第七步:現(xiàn)在需要我們的客戶就可以收聽到這個圖像并按圖示進行編碼,
第八步:現(xiàn)在我們所要做的就是為FramesPerSecond設置一個常量值,你還可以更改它并從中獲得不同的效果。可以嘗試使FramesPerSecond=10并將其更改為50,然后使其為100,你可以看到不同的輸出結果。在這個項目中,如果你啟動服務器,相機將開始運行,你不需要做轉換,它會給你一個正常的相機源,而不是鏡像源。
盡情享受OpenCV4nodejs …如果你想用ngrok托管它,可以看我在GitHub中給出的步驟。https://github.com/narenltk
參考:https://www.npmjs.com/package/opencv4nodejs

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀”爆發(fā)至今,五類新物種登上歷史舞臺
- 5 國產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計算迎來商業(yè)化突破,但落地仍需時間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長空間
- 8 地平線自動駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關稅,能否乘機器人東風翻身?