Emgu CV

摄像头

Capture _capture = new Capture(0);

_capture.SetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FPS, 30);
_capture.SetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FRAME_HEIGHT, capheight);

var frame = _capture.QueryFrame();

视频保存

VideoWriter videoWriter =new VideoWriter(filename,CvInvoke.CV_FOURCC(‘M‘, ‘J‘, ‘P‘, ‘G‘), 20, capwidth , capheight, true);

IntPtr  Fcapture = CvInvoke.cvCreateFileCapture(filename);

videoWriter.WriteFrame<Bgr, Byte>(rimage);

图片操作

 

Image<Bgr, byte> frameg = image.Copy(rectangle)

frameg = frameg .Rotate(90f, new Bgr(0,0,0), false);

frame = frameb.Flip(Emgu.CV.CvEnum.FLIP.HORIZONTAL);

Image<Bgr, byte> rimage = new Image<Bgr, byte>(capwidth , capheight);
CvInvoke.cvSetImageROI(rimage.Ptr, new Rectangle(0, 0, capwidth, capheight));
CvInvoke.cvCopy(frameg.Ptr, rimage.Ptr, IntPtr.Zero);

灰度

Image<Gray, Byte> graye = frameg.Convert<Gray, Byte>().Resize(checkper, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR);、

画矩形

frameg.Draw(r, new Bgr(0, 255, 0), 2);

时间: 2024-11-15 15:38:39

Emgu CV的相关文章

[转载+原创]Emgu CV on C# (四) —— Emgu CV on 二值化

重点介绍了二值化原理及数学实现,并利用emgucv方法编程实现. 一.理论概述(转载,如果懂图像处理,可以略过,仅用作科普,或者写文章凑字数)  1.概述 图像二值化是图像处理中的一项基本技术,也是很多图像处理技术的预处理过程. 图像的预处理在进行图像二值化操作前要对图像进行预处理,包括彩色图像灰化和增强.由于选取阈值需要参照直方图,因此在图像进行处理后,我们再获取图像的直方图以帮助选取阈值.整个流程如下所示: 读取图像→灰度图像→图像增强→图像直方图→二值化处理 2.数学原理(转载,基本可以不

Emgu CV 初试

Emgu CV 是.NET平台下对OpenCV图像处理库的封装,也就是.NET版.可以运行在C#.VB.VC++等. 安装完成后需要设置环境变量,比如我安装在D:\Emgu\emgucv-windows-universal-cuda 2.9.0.1922,然后再系统环境变量添加D:\Emgu\emgucv-windows-universal-cuda 2.9.0.192\bin即可 Emgu CV下载地址 http://sourceforge.net/projects/emgucv/files/

Emgu.CV(一)

由于这块的知识不少,会分好几期写完 什么是OpenCV? OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成,同时提供了Python.Ruby.MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法.OpenCV 拥有包括 300 多个C函数的跨平台的中.高层 API.它不依赖于其它的外部库--尽管也可以使用某些外部库. 什么是Emgu.CV? Emgu

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

局部自适应阈值二值化 相对全局阈值二值化,自然就有局部自适应阈值二值化,本文利用Emgu CV实现局部自适应阈值二值化算法,并通过调节block大小,实现图像的边缘检测. 一.理论概述(转载自<OpenCV_基于局部自适应阈值的图像二值化>) 局部自适应阈值则是根据像素的邻域块的像素值分布来确定该像素位置上的二值化阈值.这样做的好处在于每个像素位置处的二值化阈值不是固定不变的,而是由其周围邻域像素的分布来决定的.亮度较高的图像区域的二值化阈值通常会较高,而亮度较低的图像区域的二值化阈值则会相适

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

轮廓检测 对于查找轮廓我们一般要对图像Canny检测.但是对于很特殊的场合其实我们还可以直接对二值化的图像进行轮廓的提取. 关键函数 1. cvFindContours Retrieves contours from the binary image and returns the number of retrieved contours. The pointer firstContour is filled by the function. It will contain pointer to

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

Canny边缘检测也是一种边缘检测方法,本文介绍了Canny边缘检测的函数及其使用方法,并利用emgucv方法将轮廓检测解算的结果与原文进行比较. 图像的边缘检测的原理是检测出图像中所有灰度值变化较大的点,而且这些点连接起来就构成了若干线条,这些线条就可以称为图像的边缘.Canny边缘检测算子是John F. Canny于 1986 年开发出来的一个多级边缘检测算法. Canny 边缘检测的数学原理和算法实现这里就不再了,有兴趣的读者可以查阅专业书籍. 一.概述(若果不想看,可以略过.转自:<C

[转载+原创]Emgu CV on C# (一) —— Emgu CV on Visual C# 2010

2014-08-16 最近要进行图像识别,准备利用几天的时间研究一下Emgu CV,花了一晚上功夫进行调试环境安装,期间遇到了不少问题,现梳理一下安装过程和调试过程中出现的问题. 中间有转载别人的部分,有简体和繁体,还掺杂英文,就不整理了,基本都能看懂. 一.环境建立准备 本篇著在於使用Visual C# 2010 Express + EmguCV環境的建置. 環境: Visual C# 2010 Express 下載點:http://www.microsoft.com/visualstudio

Emgu CV的一个异常的解决方法

今年组里有大项目落我头上了,并不能像去年一样回家还能搞搞Cocos2dX,一把老泪流了下来... 回到正题,由于组里需要做一个显示板的自动测试项目,涉及到Computer Vision.不得不说,这才是项目里的大坑.之前一直在做其他基础库的研发,最近开始了视觉识别的研发进度.由于市面上没有很合适的开源工业摄影机,只能硬着头皮先试试一些已经有先例的视觉库来尝试.前期项目架构在C#上,自然而然就想到了OpenCV在包装C#的库Emgu CV,而且这个库跨平台,很适合后期移植到其他平台上去,我就选择了

[转载+原创]Emgu CV on C# (三) —— Emgu CV on 均衡化

本文简要描述了均衡化原理及数学实现等理论问题,最终利用emgucv实现图像的灰度均衡. 直方图的均衡化,这是图像增强的常用方法. 一.均衡化原理及数学实现(转载) 均衡化原理及数学实现可重点参看——<直方图均衡化>和<图像处理(3)_灰度分布均衡化> 灰度分布均衡化又称直方图均衡化. 1.概述 这种方法通常用来增加许多图像的全局对比度,尤其是当图像的有用数据的对比度相当接近的时候.通过这种方法,亮度可以更好地在直方图上分布.这样就可以用于增强局部的对比度而不影响整体的对比度,直方图

利用Emgu.CV实现人脸识别详解 (C#)--附源码

 本文由:姚磊岳([email protected])于2016-6-9撰,转载请保留作者信息. 最近需要实现一个基于生理特征的门禁准入系统,其中一个环节就是要用到人脸识别.虽说人脸识别的算法已经非常成熟,网络上也有很多专业的介绍,但从零做起工作量还是太大,所以想找一些现成的控件.上网一搜,还真发现了不少:如果是基于移动端的android开发,科大讯飞的人脸识别插件应该是个不错的选择:百度也提供人脸识别的插件(没深入看,不知道要不要收费).对比再三,发现如果是要做C/S程序,精度又不是要求非