C#调用电脑摄像头拍照

 

1.打开VS2019,新建一个Form窗体,工具->NuGet包管理工具->管理解决方案的NuGet包,在浏览里搜索AForge.Controls、AForge.Video.DirectShow,安装AForge.Controls和AForge.Video.DirectShow

2.安装AForge组件完成后,VS工具箱会新增AForge控件,把AForge.NET中的VideoSourcePlayer拖到Form窗体上

 3.关键代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

#region 变量

/// <summary>

/// 摄像头设备集合

/// </summary>

FilterInfoCollection videoDevices;

/// <summary>

/// 捕获设备资源

/// </summary>

VideoCaptureDevice videoSource;

/// <summary>

/// 处理图片

/// </summary>

Bitmap bitImg;

#endregion

/// <summary>

/// 先检测摄像头

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void Form1_Load(object sender, EventArgs e)

{

    //检测电脑所有的摄像头

    videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);

    MessageBox.Show("检测到了【" + videoDevices.Count.ToString() + "】个摄像头");

    //获取需要拍照的设备

    videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString);

    videoSourcePlayer1.VideoSource = videoSource;

    //启动摄像头

    videoSourcePlayer1.Start();

}

/// <summary>

/// 拍照

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void button1_Click(object sender, EventArgs e)

{

    //拍摄并获取图片

    bitImg = videoSourcePlayer1.GetCurrentVideoFrame();

}

/// <summary>

/// 关闭摄像头

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void button2_Click(object sender, EventArgs e)

{

    ShutCamera();

}

/// <summary>

/// 关闭并释放摄像头

/// </summary>

public void ShutCamera()

{

    if (videoSourcePlayer1.VideoSource != null)

    {

        videoSourcePlayer1.SignalToStop();

        videoSourcePlayer1.WaitForStop();

        videoSourcePlayer1.VideoSource = null;

    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/620631.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Workfine签章方案使用说明

概述 为支持绝大部分第三方签章平台&#xff0c;Workfine针对性添加了部分动作事件与message支持。用户只需要自己开发中间代理程序&#xff0c;用于Workfine与签章平台的通讯即可完成整套签章方案。 整体业务流程图如下&#xff1a; 设计端添加发送PDF动作事件&#xff0c;生…

Java常见数据结构---八大结构

前言&#xff1a; 数据结构是计算机底层存储、组织数据的方式。是指数据相互之间是以什么方式排列在一起的。 通常情况下&#xff0c;精心选择的数据结构可以带来更高的运行或者存储效率 常见的八大数据结构&#xff1a; 栈&#xff1a; 思想&#xff1a; 栈是一种数据结构&…

JL-杰理芯片-认识TA的SDK的第二天

耳机升级 测试盒的有线升级和无线升级&#xff08;要加key&#xff09; 烧录器的有线升级&#xff08;不要key&#xff09;&#xff08;强制升级&#xff09; 一拖八的强制升级 测试盒无线升级 要求&#xff1a;耳机的主控&#xff08;芯片&#xff09;至少是D4的 测试盒设…

WordPress中插入视频的两种方法详解

最近我在建设WordPress网站的时候需要上传视频&#xff0c;我使用的是Hostease的主机安装的WordPress&#xff0c;随后在咨询了他们的技术支持后获得了一些解决方法。下面将介绍WordPress中插入视频的两种方法&#xff1a;本地上传和外部引用。 本地上传视频 使用WordPress的古…

springmvc核心流程

核心流程及配置 核心流程 执行流程 用户发送请求到DispatcherServlet前端控制器&#xff0c;前端控制器收到请求后自己不进行处理&#xff0c;而是委托给其他的解析器进行处理&#xff0c;作为统一访问点&#xff0c;进行全局的流程控制 DispatcherServlet调用HandlerMapping映…

Postman基础功能-Collection和批量运行

一、Collection&#xff08;集合&#xff09;介绍 当我们对一个或多个系统中的很多接口用例进行维护时&#xff0c;首先想到的就是对接口用例进行分类管理&#xff0c;同时还希望对这批接口用例做回归测试。 在 Postman 中也提供了这样一个功能&#xff0c;就是 Collec…

基础ArkTS组件:帧动画,内置动画组件,跑马灯组件(HarmonyOS学习第三课【3.6】)

帧动画 帧动画也叫序列帧动画&#xff0c;其原理就是在时间轴的每帧上逐帧绘制不同的内容&#xff0c;使其连续播放而成动画。ArkUI开发框架提供了 ImageAnimator 组件实现帧动画能力&#xff0c;本节笔者介绍一下 ImageAnimator 组件的简单使用。 官方文献 说明 该组件从A…

亚马逊测评实操干货,跨境电商做测评,卖家店铺测评攻略!

亚马逊在全球有超过 2 亿付费 Prime 会员和数以亿计的活跃买家账户&#xff0c;卖家们可以通过亚马逊一流的国际物流扩展业务。这是一个知名度极高的老牌跨境电商平台&#xff0c;而且平台流量非常大&#xff0c;成功打造爆款Listing这是每位亚马逊卖家渴望的诉求&#xff0c;做…

拿走不谢,送你一份HCIA自学攻略

HCIE固然是许多网络工程师梦寐以求的认证&#xff0c;但攀登这座高峰之前&#xff0c;先要稳扎稳打地从华为认证HCIA开始。 对于零基础的学员来说&#xff0c;自学HCIA不仅是一个挑战&#xff0c;更是一次宝贵的学习机会&#xff0c;为以后学习IP、IE打基础。 以HCIA数通方向…

专家报告+现场实操!和鲸社区携手武汉大学举办地理空间智能学术研讨会及编程工作坊,限时开启报名!

AI技术被深度应用在地理科学领域后&#xff0c;给科学研究及行业落地应用带来了机遇&#xff0c;同样也带来了挑战。 5月25日武汉大学&#xff0c;和鲸社区联合武汉大学遥感信息工程学院、中国地质大学&#xff08;武汉&#xff09;地理与信息工程学院邀请了来自高校、研究机构…

huggingface:利用git克隆目标资源

前言 因为有很多模型资源都被放在了huggingface上&#xff0c;为了下载它们&#xff0c;着实让一个不懂git的人犯了难&#xff0c;绕了很多远路&#xff0c;甚至将不需要解决的问题也都拿上了台面&#xff0c;因此我将在本篇博客中记载一些关于【huggingface】中利用git克隆目标…

Unsupervised Image-to-Image Translation Networks

Unsupervised Image-to-Image Translation Networks 无监督图像到图像翻译网络 Ming-Yu Liu, Thomas Breuel, Jan Kautz 刘明玉&#xff0c;Thomas Breuel&#xff0c;Jan Kautz NVIDIA {mingyul,tbreuel,jkautz}nvidia.com NVIDIA {mingyul&#xff0c;tbreuel&#xff0c;j…

《系统管理学报》期刊投稿经验与流程分享(一轮退修,历时3月)

双非研二&#xff0c;三作&#xff08;导师一作&#xff0c;师哥二作&#xff09;&#xff0c;《系统管理学报》期刊录用 投稿网址&#xff1a;https://xtglxb.sjtu.edu.cn/journalx_jgxb/authorLogOn.action 投稿&收稿&#xff1a;2022年12月26日初审&#xff1a;2023年…

设计公司图纸防泄密|图纸加密软件推荐

随着信息技术的快速发展&#xff0c;设计行业面临着前所未有的挑战和机遇。然而&#xff0c;随着设计图纸的电子化存储和传输越来越普遍&#xff0c;如何确保图纸的安全性、防止泄密成为了一个亟待解决的问题。针对这一问题&#xff0c;设计行业专用图纸加密软件应运而生&#…

MyBatis——在WEB中使用MyBatis(MVC架构模式)

一、在 Web 应用中使用 MyBatis 项目目录结构 pojo package org.qiu.bank.pojo;/*** 账户类&#xff0c;封装账户数据* author 秋玄* version 1.0* package org.qiu.bank.pojo* date 2022-09-27-20:31* since 1.0*/ public class Account {private Long id;private String …

华为ensp中路由器IPSec VPN原理及配置命令(超详解)

作者主页&#xff1a;点击&#xff01; ENSP专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年5月13日2点11分 虚拟专用网络&#xff08;VPN&#xff09;是一种通过公用网络建立安全连接的技术。它可以使您的设备看起来像是连接到另一个网络&#xff0c;例如公司…

Skywalking 8.x部署

一、下载版本 Skywalking 官网下载地址 版本地址 大家各自选取对应的版本即可 解压后&#xff1a; 二、修改配置 找到config目录下的application.yml 1. 修改存储方式为mysql 修改数据库jdbc连接信息 下一步懂得都懂,那肯定就需要mysql-connector-java-8.0.16写入mysql的…

智能自助终端RK3288全国产化主板在自助收银项目的应用,支持鸿蒙

智能自助终端主板IoT-3288A推出了自助收银终端&#xff0c;主要面向商场、超市、餐厅、零售店等门店收银场景。顾客在条形码扫描框前扫描要选购的商品后&#xff0c;可以选择扫码支付、刷脸支付和会员卡/购物卡支付&#xff0c;大幅提升收银效率&#xff0c;极大程度的降低人力…

redis的跳表

typedef struct zskiplistNode {// 分值double score;// 成员对象robj *obj;// 后退指针struct zskiplistNode *backward;// 层struct zskiplistLevel {// 前进指针struct zskiplistNode *forward;// 跨度unsigned int span;} level[]; } zskiplistNode;跳表的节点查找算法可以…

NR SRB传输的RRC messages

有朋友对SRB会传输哪些消息有疑问&#xff0c;这里以R15 38.331 为例做简单总结。 SRB0 SRB0 就不说了&#xff0c;罗列如上。 SRB2 SRB2用于NAS消息的发送&#xff0c;全部使用DCCH逻辑信道。 SRB2的优先级低于SRB1&#xff0c;网络会在AS安全激活后配置。 具体到38.331中就是…