如何通過(guò)Opencv4nodejs實(shí)現(xiàn)視頻流解析與獲?
本文我們學(xué)習(xí)一個(gè)新的工具,即Opencv4nodejs。它不是基于python的OpenCV,而是基于nodejs的OpenCV。OpenCV在計(jì)算機(jī)視覺(jué)應(yīng)用中起到至關(guān)重要的作用,我們可以使用Opencv4nodejs在web應(yīng)用中應(yīng)用OpenCV,實(shí)現(xiàn)各種應(yīng)用,包括人臉檢測(cè)、人臉標(biāo)記檢測(cè)、人臉識(shí)別,甚至深度神經(jīng)網(wǎng)絡(luò)的目標(biāo)識(shí)別等等…
本文,我們將獲取攝像頭并將其放入節(jié)點(diǎn)應(yīng)用程序中,然后使用Express node js和Socket IO托管它。在深入研究opencv4nodejs的人工智能部分之前,讓我們先看一下實(shí)現(xiàn)的基本步驟。步驟:導(dǎo)入所需的庫(kù)。從本地計(jì)算機(jī)捕獲視頻源。獲取視頻源并將其流格式傳輸?shù)絯eb應(yīng)用程序中。創(chuàng)建一個(gè)基本的html文件或創(chuàng)建一個(gè)EJS模板。
在客戶端使用Socket IO庫(kù)將客戶端連接到本地主機(jī)或任何網(wǎng)絡(luò)讓客戶收聽(tīng)該圖像并對(duì)其進(jìn)行編碼為FramesPerSecond設(shè)置一個(gè)常量值
第一步:這里是必需的庫(kù)Opencv4nodejsExpresshttpSocket IOPath如圖所示導(dǎo)入它們
第二步:現(xiàn)在我們需要從本地機(jī)器上獲取視頻,
你們可以看到這看起來(lái)不像python代碼!
第三步:獲取視頻源并使用適當(dāng)?shù)臅r(shí)間間隔將其流式傳輸?shù)絯eb應(yīng)用程序中,即我們將對(duì)任何正在收聽(tīng)我們服務(wù)器的人進(jìn)行公開(kāi)廣播。這也是我們的服務(wù)器端。
我們已經(jīng)獲得了視頻捕獲和編碼的圖像。我們之所以要編碼,是因?yàn)樗斜徊东@的圖像都是以矩陣格式讀取的,這也是我們需要將它們編碼為base64的主要原因,然后該字符串將通過(guò)萬(wàn)能的Socket IO進(jìn)行廣播。服務(wù)器端所需的所有設(shè)置都已完成,接下來(lái)實(shí)現(xiàn)客戶端。
第四步:
對(duì)于客戶端,沒(méi)有創(chuàng)建一個(gè)普通的HTML文件,而是創(chuàng)建了一個(gè)EJS模板,如果你要執(zhí)行g(shù)it repo,請(qǐng)按照GitHub(https://github.com/narenltk)進(jìn)行操作,我提供了在執(zhí)行g(shù)it克隆時(shí)如何使用它的必要步驟。
第五步:現(xiàn)在在客戶端已經(jīng)下載Socket IO庫(kù),即使用鏈接:https://cdnjs.com/libraries/socket.io
第六步:將客戶端連接到具有指定端口的本地主機(jī),或者像我所做的那樣讓它偵聽(tīng)任何網(wǎng)絡(luò)。你可以參考上面的圖片。
第七步:現(xiàn)在需要我們的客戶就可以收聽(tīng)到這個(gè)圖像并按圖示進(jìn)行編碼,
第八步:現(xiàn)在我們所要做的就是為FramesPerSecond設(shè)置一個(gè)常量值,你還可以更改它并從中獲得不同的效果?梢試L試使FramesPerSecond=10并將其更改為50,然后使其為100,你可以看到不同的輸出結(jié)果。在這個(gè)項(xiàng)目中,如果你啟動(dòng)服務(wù)器,相機(jī)將開(kāi)始運(yùn)行,你不需要做轉(zhuǎn)換,它會(huì)給你一個(gè)正常的相機(jī)源,而不是鏡像源。
盡情享受OpenCV4nodejs …如果你想用ngrok托管它,可以看我在GitHub中給出的步驟。https://github.com/narenltk
參考:https://www.npmjs.com/package/opencv4nodejs
發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
即日-10.29立即報(bào)名>> 2024德州儀器嵌入式技術(shù)創(chuàng)新發(fā)展研討會(huì)
-
10月31日立即下載>> 【限時(shí)免費(fèi)下載】TE暖通空調(diào)系統(tǒng)高效可靠的組件解決方案
-
即日-11.13立即報(bào)名>>> 【在線會(huì)議】多物理場(chǎng)仿真助跑新能源汽車(chē)
-
11月14日立即報(bào)名>> 2024工程師系列—工業(yè)電子技術(shù)在線會(huì)議
-
12月19日立即報(bào)名>> 【線下會(huì)議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
即日-12.26火熱報(bào)名中>> OFweek2024中國(guó)智造CIO在線峰會(huì)
推薦專題
- 1 Intel宣布40年來(lái)最重大轉(zhuǎn)型:年底前裁員15000人、拋掉2/3房產(chǎn)
- 2 因美封殺TikTok,字節(jié)股價(jià)骨折!估值僅Meta1/5
- 3 宏山激光重磅發(fā)布行業(yè)解決方案,助力智能制造產(chǎn)業(yè)新飛躍
- 4 國(guó)產(chǎn)AI芯片公司破產(chǎn)!白菜價(jià)拍賣(mài)
- 5 具身智能火了,但規(guī)模落地還需時(shí)間
- 6 國(guó)產(chǎn)英偉達(dá)們,抓緊沖刺A股
- 7 三次錯(cuò)失風(fēng)口!OpenAI前員工殺回AI編程賽道,老東家捧金相助
- 8 英特爾賦能智慧醫(yī)療,共創(chuàng)數(shù)字化未來(lái)
- 9 英偉達(dá)的麻煩在后頭?
- 10 將“網(wǎng)紅”變成“商品”,AI“爆改”實(shí)力拉滿
- 高級(jí)軟件工程師 廣東省/深圳市
- 自動(dòng)化高級(jí)工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷(xiāo)售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級(jí)銷(xiāo)售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門(mén)市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市