Emgu CV 第一个实例
- Emgu CV 第一个实例 推荐度:
- 相关推荐
Emgu CV 第一个实例
Emgu CV下载地址
/
找最新的下就行了,傻瓜式安装,选择目录后自动完成安装,然后提示安装VS2008和VS2010的插件,我使用的是VS2010,然后完成操作。
Emgu CV是什么?
Emgu CV是.NET平台下对OpenCV图像处理库的封装,也就是.NET版。可以运行在C#、VB、VC++等。
安装完成后需要设置环境变量,比如我安装在E:/Emgu/emgucv-windows-x86 2.2.1.1150,然后再系统环境变量添加E:/Emgu/emgucv-windows-x86 2.2.1.1150/bin即可
编写第一个小程序
在VS2010中新建一个Windows应用程序
首先需要导入UI插件
在浏览中定位到Emgu的安装目录bin下,选择Emgu.CV.UI.dll
在引用中添加dll调用,分别是Emgu.CV.dll和Emgu.CV.ML.dll和Emgu.CV.UI.dll和Emgu.Util.dll以及ZedGraph.dll
添加完毕后放置一个Button控件和一个imagebox控件(第三张图中导入的自定义插件),然后编写代码即可
代码
[c-sharp:nogutter] view plain copy- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using Emgu.CV;//PS:调用的Emgu dll
- using Emgu.CV.Structure;
- using Emgu.Util;
- using System.Threading;
- namespace Emgu1
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- private Capture capture;
- private bool captureinprocess;//判断摄像头的状态
- private void button1_Click(object sender, EventArgs e)
- {
- if (capture != null)//摄像头不为空
- {
- if (captureinprocess)
- {
- Application.Idle -= new EventHandler(processfram);
- button1.Text = "Stop!";
- }
- else
- {
- Application.Idle += new EventHandler(processfram);
- button1.Text = "Start!";
- }
- captureinprocess = !captureinprocess;
- }
- else//摄像头为空则通过Capture()方法调用
- {
- try
- {
- capture = new Capture();
- }
- catch (NullReferenceException excpt)
- {
- MessageBox.Show(excpt.Message);
- }
- }
- }
- private void processfram(object sender, EventArgs arg)
- {
- Image<Bgr, Byte> frame = capture.QueryFrame();
- imageBox1.Image = frame;
- }
- }
- }
最新文章
- Java 接口+继承
- java中的反射详解
- MDG convenience API示例代码
- Linux之jkd、tomcat、mysql安装
- BlockingQueue Interface In Java学习
- 文件服务器之一:NFS 服务器
- 机器学习理论基础学习18
- 如何在安卓安装LINUX
- C#使用EmguCV库(图像读取、显示、保存)(二)
- 停用词是什么?常用中文停用词
- 1个人做自媒体,就选这4个领域,变现容易,操作简单
- pta 6
- PTA解题
- 国产android系统,最干净的国产安卓7.0系统,体验还不错
- JAVA中的deflate压缩实现
- TensorFlow学习日记之tflearn
- java接口和抽象类的区别(经典面试题)