使用EmguCV3.0.0调用摄像头并设置帧率
此教程使用emgu3.0.0,其他版本兼容性未知。
转载请注明出处: http://www.cnblogs.com/zaiyuzhong/p/open-camera-with-emgu3_0_0.html
先说设置帧率,是通过调用Capture实例的SetCaptureProperty方法:
capture.SetCaptureProperty(CapProp.Fps, 帧率数);
该方法可以设置绝大多数摄像头参数。相应的,可以通过GetCaptureProperty获得这些参数。
该示例只需引用 Emgu.CV.dll 和 Emgu.Util.dll
1 var capture = new Capture(0); //这里打开第一个, 多个摄像头先获取名字数组, 再根据名字获得对应下标
2 capture.SetCaptureProperty(CapProp.Fps, 1);
3 var ts = new ThreadStart(() =>
4 {
5 while(!shouldStop)
6 {
7 var image = capture.QueryFrame(); // image是Emgu.CV.Mat类型
8 }
9 });
10 shouldStop = false;
11 new Thread(ts){ IsBackground = true }.Start();
打开摄像头
1 public Bitmap ConvertMat2Bitmap(Mat cvImg)
2 {
3 Bitmap bmpImg;
4 if (cvImg.Depth != DepthType.Cv8U)
5 {
6 bmpImg = new Bitmap(1, 1, PixelFormat.Format8bppIndexed);
7 return bmpImg;
8 }
9 var pixelFormat = PixelFormat.Format8bppIndexed;
10 if (cvImg.NumberOfChannels == 3)
11 pixelFormat = PixelFormat.Format24bppRgb;
12 else if (cvImg.NumberOfChannels == 4)
13 pixelFormat = PixelFormat.Format32bppArgb;
14 bmpImg = new Bitmap(cvImg.Cols, cvImg.Rows, cvImg.Step, pixelFormat, Marshal.UnsafeAddrOfPinnedArrayElement(cvImg.Data, 0));
15 return bmpImg;
16 }
Mat转Bitmap
最近家里没电脑, 等等我实验一下3.1
最后别忘了释放Capture实例
使用EmguCV3.0.0调用摄像头并设置帧率的更多相关文章
- AForge调用摄像头拍照时设置分辨率
简单记录下AForge2.2.5.0版本调用摄像头拍照时设置分辨率的方法. FilterInfo info = _videoDevices[0];//获取第一个摄像头 _cameraDevice = ...
- opencv —— 调用摄像头采集图像 VideoCapture capture(0);
如果要调用摄像头进行视频采集,将代码 VideoCapture capture("C:/Users/齐明洋/Desktop/1.mp4"); 中的 "C:/Users/齐 ...
- [Unity3D]unity3d5.0简单的调用摄像头
Unity3D中新建一个工程,加一个Plane,新建一个C# 脚本,将这个脚本添加到Plane上,调用摄像头.(如果显示的图片居然是翻转的,Plane的Rotation 值就可以了) 以下是脚本内容: ...
- Vue2.0 引用 exif.js 实现调用摄像头进行拍照功能以及图片上传功能
vue组件代码 <template> <div> <div style="padding:20px;"> <div class=" ...
- SubSonic3.0.0.4.3源码包与调用Dll
版本修改历史 3.0.0.4.3版修复了下面问题: 修正多表关联查询时,使用左关联和右关联出错问题修正DbDataProvider.cs类的ToEnumerable函数打开数据库链接后没有关闭的问题添 ...
- SubSonic3.0.0.4.2源码包与调用Dll
================================================================ 名 称:SubSonic插件版 本:3.0.0.4.2最后 ...
- NET 2.0(C#)调用ffmpeg处理视频的方法
另外:ffmpeg的net封装库 http://www.intuitive.sk/fflib/ NET 2.0 调用FFMPEG,并异步读取输出信息的代码...public void ConvertV ...
- 【spring cloud】spring cloud2.X spring boot2.0.4调用feign配置Hystrix Dashboard 和 集成Turbine 【解决:Hystrix仪表盘Unable to connect to Command Metric Stream】【解决:Hystrix仪表盘Loading...】
环境: <java.version>1.8</java.version><spring-boot.version>2.0.4.RELEASE</spring- ...
- 本文详细阐述如何用C#创建COM组件,并能用VC6.0等调用。
本文详细阐述如何用C#创建COM组件,并能用VC6.0等调用. 附:本文适用任何VS系列工具. 在用C#创建COM组件时,一定要记住以下几点: 1.所要导出的类必须为公有: 2.所有属性.方法也必须为 ...
- SubSonic3.0.0.4.1源码包与调用Dll
================================================================ 名 称:SubSonic插件版 本:3.0.0.4.1最后 ...
随机推荐
- 以交互的方式升级ESXi主机
以交互的方式升级ESXi主机 环境说明: 需求:要将 ESXi 6.0 主机和 ESXi 6.5 主机升级到 ESXi 6.7,可从 CD.DVD 或 USB 闪存驱动器引导 ESXi 安装程序. 注 ...
- Nginx09 http的keepalive及在nginx的配置使用
1 为什么要有Connection: keep-alive? 在早期的HTTP/1.0中,每次http请求都要创建一个连接,而创建连接的过程需要消耗资源和时间,为了减少资源消耗,缩短响应时间,就需要重 ...
- Javaweb-Tomcat(安装+配置环境)
Tomcat跟着教程,但是在bin目录下点击startup只能闪退的总结 1.先下载 直接搜tomcat下载就可以了(free) 2.解压到你想要的文件中 3.直接进入bin目录,找startup.b ...
- C++_bind用法
1.bind函数 网络编程中, 经常要使用到回调函数. 当底层的网络框架有数据过来时,往往通过回调函数来通知业务层. 这样可以使网络层只专注于 数据的收发, 而不必关心业务 在c语言中, 回调函数的实 ...
- Windows QT程序配置删除网卡IP
1.Windows下可在CMD控制终端使用Dos命令对指定网卡进行IP配置,需要使用管理员权限打开CMD终端 往网卡添加IP主要有以下两种方法: 方法1: netsh interface ip add ...
- nodejs实现保存文件到本地或者服务器
nodejs如何将前端传递的文件进行保存在本地或者服务器 一.nodejs获取前端传递的文件file有三种,这里我们推荐使用koa-body 1 // 安装依赖 koa-body 2 npm inst ...
- QFileDialog实现同时选择文件和文件夹,确认取消按钮英文问题解决方法
如下图所示,需求是同时能够选择文件或者文件夹,但是QFileDialog文件窗口类要么只能选文件,要么只能选文件夹,无法同时去选择文件和文件夹: 要实现这样的需求,封装了一个类,实现同时选择文件和文件 ...
- 世界UTC时间时区对照图
- 华为S6720S-S24S28X-A配置参数
- 解决html2canvas.js和pdf.js导出页面问题
最近在做项目时有这么一个需求,需要将当前html页面导出pdf到本地.由于之前是做过类似的功能的借助了两个插件分别是html2canvas.js和pdf.js,本以为是非常顺利就能完成的,实际在使用过 ...