彩票走势图

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

翻译|使用教程|编辑:杨鹏连|2020-07-13 17:21:15.660|阅读 361 次

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

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。然后用户可以编辑图像并将图像保存为多种格式,用户可保存图像到远程数据库或者SharePoint。这个TWAIN控件还支持上传和处理本地图像。

点击下载Dynamic Web TWAIN正式版

在大流行期间,由于社交距离遥远,对相机应用程序的需求激增。因此,我收集了一些用不同编程语言实现的基本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正版授权,或了解更多产品信息请点击


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP