前言

WPF展示摄像头的方式有很多种比如:OpenCV、EmguCV、Accord、AForge,此片主要讲解AForge。

一、使用 NuGet 搜索 AForge 安装。(如图)

二、在 XAML 中添加 前段代码展示摄像头。

代码如下:

<Grid><Image HorizontalAlignment="Stretch" Name="frameHolder"  VerticalAlignment="Stretch"  Stretch="Fill"/>
</Grid>

三、编写后台逻辑。

代码如下:

VideoCaptureDevice LocalWebCam;
FilterInfoCollection LoaclWebCamsCollection;private void MainWindow_Loaded(object sender, RoutedEventArgs e){LoaclWebCamsCollection = new FilterInfoCollection(FilterCategory.VideoInputDevice);if (LoaclWebCamsCollection.Count <= 0){MessageBox.Show("本机未找到WebCam", "温馨提示");return;}LocalWebCam = new VideoCaptureDevice(LoaclWebCamsCollection[0].MonikerString);LocalWebCam.NewFrame += new NewFrameEventHandler(Cam_NewFrame);LocalWebCam.Start();}private void Cam_NewFrame(object sender, NewFrameEventArgs eventArgs){System.Drawing.Image img = (Bitmap)eventArgs.Frame.Clone();DateTime now = DateTime.Now;Graphics g = Graphics.FromImage(img);SolidBrush brush = new SolidBrush(Color.Red);g.DrawString($"时间:{ now.ToString()}", new System.Drawing.Font("Arial", 18), brush, new PointF(5, 5));brush.Dispose();g.Dispose();MemoryStream ms = new MemoryStream();img.Save(ms, ImageFormat.Bmp);ms.Seek(0, SeekOrigin.Begin);BitmapImage bi = new BitmapImage();bi.BeginInit();bi.StreamSource = ms;bi.EndInit();bi.Freeze();Dispatcher.BeginInvoke(new ThreadStart(delegate{frameHolder.Source = bi;}));}this.Closed += (s, e) => {if (LocalWebCam == null) return;LocalWebCam.Stop();};

效果如下:

blogs: https://www.cnblogs.com/yanjinhua/p/14345136.html

Github:https://github.com/yanjinhuagood

作者:驚鏵

出处:https://www.cnblogs.com/yanjinhua

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

转载请著名作者 出处 https://github.com/yanjinhuagood

技术群:添加小编微信并备注进群

小编微信:mm1552923

公众号:dotNet编程大全

如何使用AForge调用本机摄像头相关推荐

  1. C# 利用Aforge调用本机摄像头完成拍照,录像

    用C#做了一个简单的摄像头录像项目,记录一下. 实现功能 打开.关闭摄像头并显示相应画面 实现拍照功能 实现录像功能 实现保存图片.录像的功能 运行界面效果 winForm控件 首先安装NuGet程序 ...

  2. VMware虚拟机中调用本机摄像头详解

    本机环境: 虚拟机:VMware Workstation 16 Player 虚拟机内系统:Centos7(其它也ok的) 本机:win10(任何系统都ok) 调用本机摄像头: 首先wins+R输入s ...

  3. 使用基于 WebRTC 的 JavaScript API 在浏览器环境里调用本机摄像头

    HTML5,JavaScript 和现代浏览器这套三驾马车的组合,使得传统的 Web 应用较之过去能实现更多更丰富的同用户交互的功能.摄像头如今已成为智能手机的标配,前端 Web 应用也出现了越来越多 ...

  4. JAVA使用摄像头录制_JavaCV开发详解之1:调用本机摄像头视频(建议使用javaCV最新版本)...

    引入依赖 org.bytedeco javacv 1.5.3 org.bytedeco javacv-platform 1.5.3 代码实现 package com.java.mmzsblog; im ...

  5. java录制视频_javacv开发详解之1:调用本机摄像头视频(建议使用javaCV最新版本)...

    javaCV系列文章: ' i# f% S' a# J9 X! w- g) wjavacv开发详解之1:调用本机摄像头视频 4 r' C, [4 ?' M7 Y; }javaCV开发详解之2:推流器实 ...

  6. WPF 实现调用本机摄像头~

    WPF开发者QQ群:340500857 由于微信群人数太多入群请添加小编微信号  yanjinhuawechat 或 W_Feng_aiQ 邀请入群 需备注WPF开发者 PS:有更好的方式欢迎推荐. ...

  7. 在前端页面中调用本机的摄像头

    如何在页面中调用本机的摄像头 前段时间,机缘巧合,了解了一手如何在前端页面中调用本机摄像头的方法. 使用了navigator.mediaDevices.getUserMedia()的方法,具体可以参考 ...

  8. HTML网页调用海康摄像头,[FastVideo]Web Html5 无插件方式连接海康摄像头[2]

    [实例简介] 此程序可以在Web Html通过Url或者 JS的方式调用海康摄像头,不需要在客户机浏览器安装插件.可以安装为服务,为Web提供后台服务. [实例截图] [核心代码] FastVideo ...

  9. Silverlight调用本机exe程序

    要点: 1. Silverlight必须启用OOB模式,以及 Require elevated trust when running in-browser.参考下图设置 注:OOB模式,并不意味着必须 ...

  10. yunyang tensorflow-yolov3 Intel Realsense D435 (并发)调用两个摄像头运行识别程序并画框

    只是一个测试,测试在并发运行下,同时开启两个摄像头获取视频流并调用识别函数的运行结果,以后在摄像头多的情况下,肯定不能这样,需要批量创建各种对象. 并发,指的是不在多线程的情况下,每个摄像头的视频流送 ...

最新文章

  1. 全职宝妈跨专业备考信息系统项目管理师【52,52,51】
  2. 语音怎么进入滤波器matlab,基于Matlab的语音信号滤波器的设计与实现
  3. GDCM:gdcm::Coder的测试程序
  4. 离散实验偏序关系满足实验报告C语言,离散数学实验三:偏序关系中盖住关系的求取及格论中有补格的判定...
  5. linux一路填坑...
  6. 连读、变音、失音、浊化、弱读、节奏
  7. PT100恒流源测温电路【一】
  8. 嘉和美康科创板IPO:阿里健康是股东,副总姬铮并非核心技术人员
  9. 四川地震发生前已有征兆?网民问责地震局未预警
  10. Leetcode 881:救生艇
  11. PS 人像处理插件PT Portrait
  12. Tomb.finance每周更新(11.29-12.5)
  13. linux命令——ll详解
  14. java set list map_Java中的Set,List,Map
  15. Laravel 教程 - Web 开发实战入门 ( Laravel 5.5 )购买链接
  16. 纪念一个曾经的软件产品(八)——看图、阅读、音乐、日历
  17. 想精通单片机开发,这些必备基础知识不可不掌握
  18. 商品推荐系统毕业设计 协同过滤算法
  19. 切换到kali linux的第一篇记录备份
  20. 块匹配算法--全搜索

热门文章

  1. 前端系列教程之JS(自认为有用代码)
  2. Linux 设置Dlan服务器
  3. 我的五年百度博客文章列表
  4. ··· Socks Online - 在内部网也能使用QQ ···
  5. 配置绿色版的editplus
  6. matlab 数字波束合成,dbf数字波束合成
  7. exoplayer实测播放dash流(二) dash+drm widevine加密流
  8. html站点地图怎么做,如何制作网站地图,制作网站地图的步骤
  9. strcmp()函数用法及其详解
  10. TransCAD教程 | 北航综合交通试验课程内容