创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
创新互联建站主要从事做网站、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务荣县,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220这篇文章将为大家详细讲解有关C#利用AForge实现摄像头信息采集的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
概述
AForge.NET是一个专门为开发者和研究者基于C#框架设计的,提供了不同的类库和关于类库的资源,还有很多应用程序例子,包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,机器人等领域。本文主要讲解利用AForge进行图像采集的相关内容【包括拍照,视频录制】,仅供学习分享使用。
AForge.Net相关类库介绍
通过NuGet管理器引入AForge类库
项目名称右键-->管理NuGet程序包,打卡NuGet包管理器 如下所示:
示例效果图
本示例主要包括打开,关闭摄像头,拍照,连续拍照,开始录制视频,暂停录制视频,停止录视频,退出等功能。
如下所示:左侧为摄像头投影区域,右侧为图像控件,显示拍照所得的图片
核心代码
获取视频设备列表以及设备对应的分辨率
/// <summary> /// 页面加载摄像头设备 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FrmMain_Load(object sender, EventArgs e) { try { this.lblTime.Text = ""; // 枚举所有视频输入设备 videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); if (videoDevices.Count == 0) { lblStatus.Text = "No local capture devices"; } foreach (FilterInfo device in videoDevices) { int i = 1; cmbDevices.Items.Add(device.Name); lblStatus.Text = ("摄像头" + i + "初始化完毕..." + "\n"); i++; } cmbDevices.SelectedIndex = 0; } catch (ApplicationException) { this.lblStatus.Text = "No local capture devices"; videoDevices = null; } } private void cmbDevices_SelectedIndexChanged(object sender, EventArgs e) { this.cmbResolution.Items.Clear(); videoSource = new VideoCaptureDevice(videoDevices[cmbDevices.SelectedIndex].MonikerString); foreach(var cap in videoSource.VideoCapabilities) { this.cmbResolution.Items.Add(string.Format("({0},{1})",cap.FrameSize.Width,cap.FrameSize.Height)); } if (this.cmbResolution.Items.Count > 0) { this.cmbResolution.SelectedIndex = 0; } }
名称栏目:C#利用AForge实现摄像头信息采集的方法-创新互联
网站URL:https://www.cdcxhl.com/article26/dhhpjg.html
成都网站建设公司_创新互联,为您提供Google、品牌网站制作、标签优化、ChatGPT、网站设计公司、外贸建站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联