原文:AForge,Emgu.CV抓拍图像大小

2017年,忙忙碌碌地过去了,象往年一样,依然没有时间上CSDN,博客园。

这一年是打工以来最辛苦的一年。

这一年用了不少自己没有接触过的东西。如人脸识别,小程序,android开发等。

从.net到java,开发当中有很多坑,有些是通过baidu,bing搜到国内外辛苦贡献的开发人员的答案而解决的。

而我根本没有时间把这些解决方法贡献到社区,因为象一台机器要不停地运转,产出……

在做人脸识别项目时使用了:AForge,Emgu.CV。用它们来显示视频和抓拍图片。

相对来说AForge占用资源少点。人脸图片大小需要控制在合适的范围内,识别率才高。

图片的大小我选择了源头控制方式, 抓拍出来的图片就能用。

AForge

 mImageSize = new ResizeNearestNeighbor(width, Height);
 videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString);
 //2.0以上的版本已不支持
 videoSource.DesiredFrameSize = new Size(width, Height);
 videoSource.DesiredFrameRate = 1;

用下面方法来处理。

using AForge.Video.DirectShow;
using AForge.Video;
using System.Configuration;
using AForge.Imaging.Filters; private ResizeNearestNeighbor mImageSize;
//抓拍时处理
void videoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
try
{
Bitmap bmp = mImageSize.Apply(eventArgs.Frame);
bmp.Save(mCatchImagePath);
bmp.Dispose();
}
catch (Exception ex)
{ }
}

Emgu.CV 直接设置

 mCapture = new Capture(0);
mCapture.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.Fps, 30);
mCapture.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameWidth, 640);
mCapture.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameHeight, 480);

利用年底的空闲写一篇,希望2018年能有空写上十几篇。

AForge,Emgu.CV抓拍图像大小的更多相关文章

  1. .NET开源工程推荐(Accord,AForge,Emgu CV)

         本人用C#开发了一些项目,下面的开源工程给了我很大的帮助——详细的源代码介绍加丰富的实例运用,是非常不错的学习资源,分享给大家,同时附上我的相关开发项目.    Accord.NET The ...

  2. C# Emgu CV学习笔记二之图像读写的两种方法

    http://blog.csdn.net/marvinhong/article/details/6800450 图像显示在控件loadPictureBox上 方法一 //读取图像001.jpg Int ...

  3. (opencv08)cv.resize()调整图像大小

    (opencv08)cv.resize()调整图像大小 img = cv2.resize(src, dsize, dst=None, fx=None, fy=None, interpolation=N ...

  4. 自己积累的一些Emgu CV代码(主要有图片格式转换,图片裁剪,图片翻转,图片旋转和图片平移等功能)

    using System; using System.Drawing; using Emgu.CV; using Emgu.CV.CvEnum; using Emgu.CV.Structure; na ...

  5. [转载+原创]Emgu CV on C# (七) —— Emgu CV on 轮廓检测

    轮廓检测 对于查找轮廓我们一般要对图像Canny检测.但是对于很特殊的场合其实我们还可以直接对二值化的图像进行轮廓的提取. 关键函数 1. cvFindContours Retrieves conto ...

  6. [转载+原创]Emgu CV on C# (六) —— Emgu CV on Canny边缘检测

    Canny边缘检测也是一种边缘检测方法,本文介绍了Canny边缘检测的函数及其使用方法,并利用emgucv方法将轮廓检测解算的结果与原文进行比较. 图像的边缘检测的原理是检测出图像中所有灰度值变化较大 ...

  7. 【转】Emgu CV on C# (五) —— Emgu CV on 局部自适应阈值二值化

    局部自适应阈值二值化 相对全局阈值二值化,自然就有局部自适应阈值二值化,本文利用Emgu CV实现局部自适应阈值二值化算法,并通过调节block大小,实现图像的边缘检测. 一.理论概述(转载自< ...

  8. [转载+原创]Emgu CV on C# (五) —— Emgu CV on 局部自适应阈值二值化

    局部自适应阈值二值化 相对全局阈值二值化,自然就有局部自适应阈值二值化,本文利用Emgu CV实现局部自适应阈值二值化算法,并通过调节block大小,实现图像的边缘检测. 一.理论概述(转载自< ...

  9. C# net Emgu.CV.World 人脸识别 根据照片将人脸抠图出来。

    Emgu.CV.World 人脸识别 根据照片将人脸抠图出来.效果如下: 应用范围:配合摄像头,抓取的图像,抠出人脸照片,这样人脸照片的大小会很小,传输速度快.这样识别速度也就快. 目前我正在做百度人 ...

随机推荐

  1. javafx Cursor

    public class EffectTest extends Application { ObservableList cursors = FXCollections.observableArray ...

  2. ip---查看网络信息

    Linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者. ifconfig属于net-tools.ip属于iproute2 设置一个IP地址,可以使用下列ip命令: ip add ...

  3. linux新安装后root密码设置

    linux在安装过程中未设置root密码 导致在使用中无法su 解决方法是设置root密码: 输入: sudo passwd root [sudo] password for you: ---> ...

  4. 洛谷 P1256 显示图像

    P1256 显示图像 题目描述 古老的显示屏是由N×M个像素(Pixel)点组成的.一个像素点的位置是根据所在行数和列数决定的.例如P(2,1)表示第2行第1列的像素点.那时候,屏幕只能显示黑与白两种 ...

  5. 构建自己的AngularJS - 作用域和Digest(一)

    作用域 第一章 作用域和Digest(一) Angular作用域是简单javascript对象,因此你能够像对其它对象一样加入属性.然而,他们也有一些额外的功能:用于观測数据结构的变化.这样的观察能力 ...

  6. javascript类型系统之基本数据类型与包装类型

    javascript的数据类型可以分为两种:原始类型和引用类型 原始类型也称为基本类型或简单类型,因为其占据空间固定,是简单的数据段,为了便于提升变量查询速度,将其存储在栈(stack)中(按值访问) ...

  7. BZOJ1023: [SHOI2008]cactus仙人掌图(仙人掌)

    Description 如果某个无向连通图的任意一条边至多只出现在一条简单回路(simple cycle)里,我们就称这张图为仙人掌图(cactus).所谓简单回路就是指在图上不重复经过任何一个顶点的 ...

  8. git 常用命令(分支)

    查看分支 git branch -r 修改分支名字dev-->test git branch -m dev test 切换分支dev git checkout dev 创建本地分支dev git ...

  9. C# Unity依赖注入利用Attribute实现AOP功能

    使用场景? 很多时候, 我们定义一个功能, 当我们要对这个功能进行扩展的时候, 按照常规的思路, 我们一般都是利用OOP的思想, 在原有的功能上进行扩展. 那么有没有一种东西, 可以实现当我们需要扩展 ...

  10. 【C语言】编写函数实现库函数atoi,把字符串转换成整形

    //编写函数实现库函数atoi.把字符串转换成整形 #include <stdio.h> #include <string.h> int my_atoi(const char ...