如何使用OpenCV为桌面和Web构建简单的Webcam应用程序(一)

在大流行期间,由于社交距离遥远,对相机应用程序的需求激增。因此,我收集了一些用不同编程语言实现的基本OpenCV网络摄像头示例代码,并构建了一些用于远程网络摄像头访问的简单Web应用程序。希望这对开始构建网络摄像头应用程序的人有所帮助。在本文中,我将使用JavaScript,C#,Python和Golang。

适用于Node.js,C#,Python和Go的OpenCV安装

由于我的开发环境是Windows,因此以下安装步骤可能仅适用于Windows。如果要在其他操作系统上安装OpenCV,请访问相关的教程页面。构建和安装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 到您的系统路径。

简单的桌面网络摄像头程序

在这里插入图片描述

Node.js

创建一个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;}
}
运行应用程序:

node desktop.js

C#

创建一个.NET核心项目:

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;
}
}
}
}
}
}
运行应用程序:

dotnet run

蟒蛇

创建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()
运行应用程序:

python desktop.py
高朗
创建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()

}
运行应用程序:

go run desktop.go

想要购买Dynamic Web TWAIN正版授权,或了解更多产品信息请点击【慧都网】
文章转载自:慧都控件https://www.evget.com/article/2020/07/13/36972.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值