翻譯|使用教程|編輯:楊鵬連|2020-07-13 17:21:15.660|閱讀 450 次
概述:在大流行期間,由于社交距離遙遠,對相機應(yīng)用程序的需求激增。因此,我收集了一些用不同編程語言實現(xiàn)的基本OpenCV網(wǎng)絡(luò)攝像頭示例代碼,并構(gòu)建了一些用于遠程網(wǎng)絡(luò)攝像頭訪問的簡單Web應(yīng)用程序。希望這對開始構(gòu)建網(wǎng)絡(luò)攝像頭應(yīng)用程序的人有所幫助。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Dynamic Web TWAIN是一個專為Web應(yīng)用程序設(shè)計的TWAIN掃描識別控件。你只需在TWAIN接口寫幾行代碼,就可以用兼容TWAIN的掃描儀掃描文檔或從數(shù)碼相機/采集卡中獲取圖像。然后用戶可以編輯圖像并將圖像保存為多種格式,用戶可保存圖像到遠程數(shù)據(jù)庫或者SharePoint。這個TWAIN控件還支持上傳和處理本地圖像。
在大流行期間,由于社交距離遙遠,對相機應(yīng)用程序的需求激增。因此,我收集了一些用不同編程語言實現(xiàn)的基本OpenCV網(wǎng)絡(luò)攝像頭示例代碼,并構(gòu)建了一些用于遠程網(wǎng)絡(luò)攝像頭訪問的簡單Web應(yīng)用程序。希望這對開始構(gòu)建網(wǎng)絡(luò)攝像頭應(yīng)用程序的人有所幫助。在本文中,我將使用JavaScript,C#,Python和Golang。
適用于Node.js,C#,Python和Go的OpenCV安裝
由于我的開發(fā)環(huán)境是Windows,因此以下安裝步驟可能僅適用于Windows。如果要在其他操作系統(tǒng)上安裝OpenCV,請訪問相關(guān)的教程頁面。構(gòu)建和安裝OpenCV模塊需要時間,因此請耐心等待。
Node.js
安裝 opencv4nodejs:
npm i opencv4nodejs安裝 OpenCvSharp:
對于Windows
dotnet add package OpenCvSharp4 dotnet add package OpenCvSharp4.runtime.win
蟒蛇
安裝 OpenCV Python:
pip install opencv-python高朗
安裝 gocv:
go get -u -d gocv.io/x/gocv對于Windows
安裝MinGW-W64 x86_64-7.3.0-posix-seh-rt_v5-rev2。
安裝 CMake。
編譯并安裝OpenCV模塊:
chdir %GOPATH%\src\gocv.io\x\gocv win_build_opencv.cmd添加 C:\opencv\build\install\x64\mingw\bin 到您的系統(tǒng)路徑。
簡單的桌面網(wǎng)絡(luò)攝像頭程序
Node.js
創(chuàng)建一個desktop.js文件:
const cv = require('opencv4nodejs'); const vCap = new cv.VideoCapture(0); const delay = 10; while (true) { let frame = vCap.read(); // loop back to start on end of stream reached if (frame.empty) { vCap.reset(); frame = vCap.read(); } cv.imshow('OpenCV Node.js', frame); const key = cv.waitKey(delay); // Press ESC to quit if (key == 27) {break;} }
運行應(yīng)用程序:
node desktop.jsC#
dotnet new console -n Desktop將以下代碼添加到Program.cs中:
using System; using OpenCvSharp; namespace Desktop { class Program { static void Main(string[] args) { VideoCapture capture = new VideoCapture(0); using (Window window = new Window("Webcam")) { using (Mat image = new Mat()) { while (true) { capture.Read(image); if (image.Empty()) break; window.ShowImage(image); int key = Cv2.WaitKey(30); if (key == 27) break; } } } } } }運行應(yīng)用程序:
dotnet run
蟒蛇
創(chuàng)建desktop.py:
import cv2 cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() cv2.imshow("Webcam", frame) if cv2.waitKey(1) & 0xFF == 27: # use ESC to quit break cap.release() cv2.destroyAllWindows()運行應(yīng)用程序:
python desktop.py高朗
創(chuàng)建desktop.go:
package main import ( "fmt" "gocv.io/x/gocv" ) func main() { webcam, _ := gocv.OpenVideoCapture(0) window := gocv.NewWindow("Webcam") img := gocv.NewMat() for { webcam.Read(&img) window.IMShow(img) key := window.WaitKey(10) if key == 27 { // ESC break } } fmt.Println("Exit") // must call close() to terminate the program webcam.Close() }運行應(yīng)用程序:
go run desktop.go
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: