iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#怎么调用USB摄像头
  • 215
分享到

C#怎么调用USB摄像头

2023-06-29 17:06:38 215人浏览 泡泡鱼
摘要

这篇文章主要介绍“C#怎么调用USB摄像头”,在日常操作中,相信很多人在C#怎么调用USB摄像头问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#怎么调用USB摄像头”的疑惑有所帮助!接下来,请跟着小编一起来

这篇文章主要介绍“C#怎么调用USB摄像头”,在日常操作中,相信很多人在C#怎么调用USB摄像头问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#怎么调用USB摄像头”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1、AForge安装

右击工程,在管理NuGet程序包中搜索Aforge类库,选择安装,如下图所示

C#怎么调用USB摄像头

C#怎么调用USB摄像头

2、进行USB摄像头类封装

a、初始化,初始化时要注意,加载的设备分辨率需要人工配置,如果配置分辨率不存在需要从默认的分辨率中选择

videoDevices = new FilterInfoCollection(FilterCateGory.VideoInputDevice);  if (videoDevices.Count > 0 && videoDevices.Count >= Cameraindex)       {         FilterInfo info = videoDevices[videoDevices.Count - 1];         videoSource = new VideoCaptureDevice(info.MonikerString);          if (videoSource.VideoCapabilities.Length > 0)            {             VideoCapabilities tmp = videoSource.VideoCapabilities.               First(x => x.FrameSize.Width == LocalSize.Width &&                       x.FrameSize.Height == LocalSize.Height);                   if (tmp != null)                   {                    videoSource.SnapshotResolution = tmp;                    videoSource.VideoResolution = tmp;                   }                 else                  {                    int index = (videoSource.VideoCapabilities.Length + 1) / 2;                    tmp = videoSource.VideoCapabilities[index];                    }                  videoSourcePlayer.VideoSource = videoSource;                  videoSourcePlayer.Start();                  videoSource.NewFrame += new NewFrameEventHandler(Video_NewFrame);                    }                }            }      catch (Exception ex)       {        LogHelper.Debug(ex);}

b、绑定回调方法,此方法在摄像头成功预览之后会实时返回数据帧,封装时可以传入PictureBox,把回调旋转后的图片显示在此控件上

private void Video_NewFrame(object sender, NewFrameEventArgs eventArgs)        {            try            {                Bitmap video = (Bitmap)eventArgs.Frame.Clone();                BmpRotate(video);                if (UsbVideo != null)                    UsbVideo.Image = video;            }            catch (Exception ex)            {                LogHelper.Debug(ex);            }        }         /// <summary>        /// 图像旋转        /// </summary>        /// <param name="_bmp"></param>        private void BmpRotate(Bitmap _bmp)        {            try            {                if (CameraRotate == "0")                {                }                else if (CameraRotate == "90")                {                    _bmp.RotateFlip(RotateFlipType.Rotate90FlipNone);                }                else if (CameraRotate == "180")                {                    _bmp.RotateFlip(RotateFlipType.Rotate180FlipNone);                }                else if (CameraRotate == "270")                {                    _bmp.RotateFlip(RotateFlipType.Rotate270FlipNone);                }            }            catch (Exception ex)            {                LogHelper.Debug(ex);            }}

c、抓图事件,手动抓图事件,通过调用GetCurrentVideoFrame()方法获取Bitmap图片

public Bitmap GetCurrentVideoFrame()      {            Bitmap bmp = null;            try            {                bmp = videoSourcePlayer.GetCurrentVideoFrame();                BmpRotate(bmp);            }            catch (Exception ex)            {                LogHelper.Debug(ex);            }            return bmp;        }

d、摄像头重连,此类库中videoSourcePlayer有个属性IsRunning可以判断是否USB摄像头预览中,可以对设备进行重连

private FilterInfoCollection videoDevices = null; //摄像头设备public VideoCaptureDevice videoSource = null; //视频的来源选择private VideoSourcePlayer videoSourcePlayer = new VideoSourcePlayer();public Bitmap img = null;public int CameraIndex = 1;        /// <summary>        /// 默认分辨率        /// </summary>        public Size LocalSize = new Size(640, 480);        bool isHave = false;        public string CameraRotate = "0";        private System.windows.FORMs.PictureBox UsbVideo = null;        public void ReConnect()        {            try            {                if (!videoSourcePlayer.IsRunning)                {                   videoSource.Stop();                   videoSource.Start();                }            }            catch (Exception)            {     }}

到此,关于“C#怎么调用USB摄像头”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: C#怎么调用USB摄像头

本文链接: https://www.lsjlt.com/news/325784.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#怎么调用USB摄像头
    这篇文章主要介绍“C#怎么调用USB摄像头”,在日常操作中,相信很多人在C#怎么调用USB摄像头问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#怎么调用USB摄像头”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-29
  • C#调用USB摄像头的方法
    C#调用USB摄像头使用AForge类库进行开发,供大家参考,具体内容如下 1、AForge安装 右击工程,在管理NuGet程序包中搜索Aforge类库,选择安装,如下图所示 2...
    99+
    2024-04-02
  • Android相机调用-CameraX【外接摄像头】【USB摄像头】
    Android相机调用有原生的Camera和Camera2,我觉得调用代码都太复杂了,CameraX调用代码简洁很多。 说明文档:https://developer.android.com/jetpack/androidx/releases...
    99+
    2023-10-22
    数码相机 android
  • yolov5调用usb摄像头及本地摄像头的方法实例
    目录yolov5调用usb摄像头YOLOv5调用本地摄像头总结yolov5 调用 usb 摄像头 文章是在yolov5 v5.0版本的detect.py所修改编写 其他v1.0-v4...
    99+
    2024-04-02
  • OpenCV调用摄像头
    环境 python:python3.6摄像头:网络摄像头Python库:openCV # -*- coding: utf-8 -*- # @author leone # @desc 使用 python 的 openCV 获取网络摄像...
    99+
    2023-01-31
    摄像头 OpenCV
  • python调用摄像头
    import cv2 #模块称作cv2。python需要用到opencv-python模块。可在命令行模式输入: #pip install opencv-python -i https://pypi.douban.com/simple/ c...
    99+
    2023-10-01
    python opencv 开发语言
  • 怎么使用python调用摄像头
    这篇文章给大家分享的是有关怎么使用python调用摄像头的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、打开摄像头import cv2import numpy as np...
    99+
    2023-06-15
  • 怎么在html5中调用摄像头
    本篇文章给大家分享的是有关怎么在html5中调用摄像头,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。调用摄像头第一种方法navigator.getUserMedia用法详见md...
    99+
    2023-06-09
  • WPF怎么使用AForge调用摄像头
    本篇内容主要讲解“WPF怎么使用AForge调用摄像头”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“WPF怎么使用AForge调用摄像头”吧!AForge引用1.创建WPF项目, 在NuGet安...
    99+
    2023-06-29
  • 云服务器怎么调用摄像头
    如果您要使用云服务器来调用摄像头,请按照以下步骤操作:在您打开的云服务器上,找到“本地摄像头”或“应用程序摄像头”选项。单击“下一步”或“完成”。在摄像头图标上右键单击,然后单击“使用摄像头”。选择要使用的摄像头。在使用摄像头界面中,单击“...
    99+
    2023-10-25
    摄像头 服务器
  • Android中怎么调用摄像头拍照
    本篇文章给大家分享的是有关Android中怎么调用摄像头拍照,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。第一步,获取权限if (ContextCompat.chec...
    99+
    2023-06-04
  • ASP.NetCore对USB摄像头进行截图
    最近想把之前一个USB摄像头拍照的winform程序迁移到.net 5下,首先找了一下,网上有通过DirectShow.NET读取摄像头的例子,Read Barcode from W...
    99+
    2024-04-02
  • ubuntu调用外接摄像头
    一、ubuntu20.04调用外接摄像头(如果是Ubuntu18.04用melodic放在第二行) 1.检查是否连接摄像头 ls /dev/video* 输出/dev/video0  /dev/video1  /dev/video2  /d...
    99+
    2023-08-31
    ubuntu linux python
  • 使用javacv怎么调用本机摄像头
    本篇文章给大家分享的是有关使用javacv怎么调用本机摄像头,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各...
    99+
    2023-06-14
  • 利用JavaScript怎么调用网络摄像头
    利用JavaScript怎么调用网络摄像头?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布...
    99+
    2023-06-07
  • WPF使用AForge调用摄像头
    AForge引用 1.创建WPF项目, 在NuGet安装AForge相关SDK包: 2.项目引用 2.1.由于在WPF当中使用AForge,需要通过WindowsFormsHost...
    99+
    2024-04-02
  • Python实现调用摄像头拍摄照片
    目录步骤代码实现效果步骤 用opencv打开摄像头并拍照保存照片到本地获取邮箱(如qq邮箱)的授权码,方法可自行百度将照片以附件的形式发送到指定邮箱删除本地照片 代码 import ...
    99+
    2024-04-02
  • 云服务器调用本地摄像头怎么调
    如果您要调用云服务器上的摄像头,需要先在本地安装相应的摄像头驱动程序,下载并解压缩到指定路径,例如c:DocumentsandSettingsAdobeAdobe Camera StudioQuickTime/v2lib。 然后在命令行中...
    99+
    2023-10-26
    摄像头 服务器
  • 云服务器怎么调用摄像头功能
    要使用云服务器来调用摄像头功能,您需要先安装摄像头驱动程序。以下是一些步骤可以帮助您开始:在完成上述步骤后,您应该可以在云服务器上看到摄像头功能正在运行。摄像头功能将允许您查看和记录您的视频,并允许您将视频分享到其他设备和云端。...
    99+
    2023-10-25
    摄像头 功能 服务器
  • 云服务器调用本地摄像头怎么调整
    如果您的云服务器上提供了视频共享服务,则可以通过在云服务器上调用本地摄像头来调整视频流。以下是一些方法: 将视频从摄像头中分离出来,并保存到本地文件夹中。 在云服务器上的视频共享界面上,找到要应用于本地的视频,并将其传输到本地电脑。 在...
    99+
    2023-10-26
    摄像头 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作