如何使用AForge调用本机摄像头
前言
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调用本机摄像头相关推荐
- C# 利用Aforge调用本机摄像头完成拍照,录像
用C#做了一个简单的摄像头录像项目,记录一下. 实现功能 打开.关闭摄像头并显示相应画面 实现拍照功能 实现录像功能 实现保存图片.录像的功能 运行界面效果 winForm控件 首先安装NuGet程序 ...
- VMware虚拟机中调用本机摄像头详解
本机环境: 虚拟机:VMware Workstation 16 Player 虚拟机内系统:Centos7(其它也ok的) 本机:win10(任何系统都ok) 调用本机摄像头: 首先wins+R输入s ...
- 使用基于 WebRTC 的 JavaScript API 在浏览器环境里调用本机摄像头
HTML5,JavaScript 和现代浏览器这套三驾马车的组合,使得传统的 Web 应用较之过去能实现更多更丰富的同用户交互的功能.摄像头如今已成为智能手机的标配,前端 Web 应用也出现了越来越多 ...
- JAVA使用摄像头录制_JavaCV开发详解之1:调用本机摄像头视频(建议使用javaCV最新版本)...
引入依赖 org.bytedeco javacv 1.5.3 org.bytedeco javacv-platform 1.5.3 代码实现 package com.java.mmzsblog; im ...
- java录制视频_javacv开发详解之1:调用本机摄像头视频(建议使用javaCV最新版本)...
javaCV系列文章: ' i# f% S' a# J9 X! w- g) wjavacv开发详解之1:调用本机摄像头视频 4 r' C, [4 ?' M7 Y; }javaCV开发详解之2:推流器实 ...
- WPF 实现调用本机摄像头~
WPF开发者QQ群:340500857 由于微信群人数太多入群请添加小编微信号 yanjinhuawechat 或 W_Feng_aiQ 邀请入群 需备注WPF开发者 PS:有更好的方式欢迎推荐. ...
- 在前端页面中调用本机的摄像头
如何在页面中调用本机的摄像头 前段时间,机缘巧合,了解了一手如何在前端页面中调用本机摄像头的方法. 使用了navigator.mediaDevices.getUserMedia()的方法,具体可以参考 ...
- HTML网页调用海康摄像头,[FastVideo]Web Html5 无插件方式连接海康摄像头[2]
[实例简介] 此程序可以在Web Html通过Url或者 JS的方式调用海康摄像头,不需要在客户机浏览器安装插件.可以安装为服务,为Web提供后台服务. [实例截图] [核心代码] FastVideo ...
- Silverlight调用本机exe程序
要点: 1. Silverlight必须启用OOB模式,以及 Require elevated trust when running in-browser.参考下图设置 注:OOB模式,并不意味着必须 ...
- yunyang tensorflow-yolov3 Intel Realsense D435 (并发)调用两个摄像头运行识别程序并画框
只是一个测试,测试在并发运行下,同时开启两个摄像头获取视频流并调用识别函数的运行结果,以后在摄像头多的情况下,肯定不能这样,需要批量创建各种对象. 并发,指的是不在多线程的情况下,每个摄像头的视频流送 ...
最新文章
- 全职宝妈跨专业备考信息系统项目管理师【52,52,51】
- 语音怎么进入滤波器matlab,基于Matlab的语音信号滤波器的设计与实现
- GDCM:gdcm::Coder的测试程序
- 离散实验偏序关系满足实验报告C语言,离散数学实验三:偏序关系中盖住关系的求取及格论中有补格的判定...
- linux一路填坑...
- 连读、变音、失音、浊化、弱读、节奏
- PT100恒流源测温电路【一】
- 嘉和美康科创板IPO:阿里健康是股东,副总姬铮并非核心技术人员
- 四川地震发生前已有征兆?网民问责地震局未预警
- Leetcode 881:救生艇
- PS 人像处理插件PT Portrait
- Tomb.finance每周更新(11.29-12.5)
- linux命令——ll详解
- java set list map_Java中的Set,List,Map
- Laravel 教程 - Web 开发实战入门 ( Laravel 5.5 )购买链接
- 纪念一个曾经的软件产品(八)——看图、阅读、音乐、日历
- 想精通单片机开发,这些必备基础知识不可不掌握
- 商品推荐系统毕业设计 协同过滤算法
- 切换到kali linux的第一篇记录备份
- 块匹配算法--全搜索
热门文章
- 前端系列教程之JS(自认为有用代码)
- Linux 设置Dlan服务器
- 我的五年百度博客文章列表
- ··· Socks Online - 在内部网也能使用QQ ···
- 配置绿色版的editplus
- matlab 数字波束合成,dbf数字波束合成
- exoplayer实测播放dash流(二) dash+drm widevine加密流
- html站点地图怎么做,如何制作网站地图,制作网站地图的步骤
- strcmp()函数用法及其详解
- TransCAD教程 | 北航综合交通试验课程内容