Emgu安装配置及使用
前言:项目需要,需使用图像处理来完成机械臂从运动的皮带上抓取物体的功能,所以又重拾视觉与图像处理内容。
内容:Emgu是OpenCV的一个跨平台的.NET封装,结构如下图所示:

下载地址:http://sourceforge.net/projects/emgucv/,下载最新版本的就好。
运行下载的EXE文件,完成后添加环境变量:我的电脑->属性->高级系统设置->环境变量->编辑或者新建PATH变量,添加安装目录下bin文件所在的路径,
如";F:\install\emgu\emgucv-windows-universal 3.0.0.2157\bin",保存即完成配置。
配置完成后,可以打开VS软件测试一下。我用的是VS2015,没有摄像头,仅写个简单的读取图片处理,程序如下:
using System.Windows;
using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.CV.WPF;
using Microsoft.Win32; namespace OpenImage
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
private Image<Bgr, byte> _originalImage;//原始图像
private Image<Gray, byte> _processImage;//处理后得到的图像
public MainWindow()
{
InitializeComponent();
} //打开按钮事件,使用对话框形式选择图像打开并显示
private void buttonOpen_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog openFile = new OpenFileDialog();
openFile.InitialDirectory = @"G:\Zoe\桌面图片";
if (openFile.ShowDialog()==true)
{
if (openFile.FileName != null)
{
_originalImage = new Image<Bgr, byte>(openFile.FileName);
originalImageBox.Source = BitmapSourceConvert.ToBitmapSource(_originalImage);
}
}
} //对原始图像进行Canny处理并将结果显示出来
private void buttonProcess_Click(object sender, RoutedEventArgs e)
{
_processImage = _originalImage.Canny(,,,true);
processedImageBox.Source = BitmapSourceConvert.ToBitmapSource(_processImage); }
}
}
程序中需要添加bin文件下的Emgu.CV、Emgu.CV.UI、Emgu.Util引用,并需要将Emgu.CV.WPF中的BitmapSourceConverter.cs文件添加到项目中,以便显示图片。
程序运行结果如下图所示:

这样的话,就说明Emgu库是可以用的。
注意:程序刚开始运行的时候会出现一些错误,多数情况是缺少dll文件,可以针对不同的错误将相应的dll文件拷贝到debug文件夹中即可得到解决。
Emgu安装配置及使用的更多相关文章
- Hive安装配置指北(含Hive Metastore详解)
个人主页: http://www.linbingdong.com 本文介绍Hive安装配置的整个过程,包括MySQL.Hive及Metastore的安装配置,并分析了Metastore三种配置方式的区 ...
- Hive on Spark安装配置详解(都是坑啊)
个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...
- ADFS3.0与SharePoint2013安装配置(原创)
现在越来越多的企业使用ADFS作为单点登录,我希望今天的内容能帮助大家了解如何配置ADFS和SharePoint 2013.安装配置SharePoint2013这块就不做具体描述了,今天主要讲一下怎么 ...
- Hadoop的学习--安装配置与使用
安装配置 系统:Ubuntu14.04 java:1.7.0_75 相关资料 官网 下载地址 官网文档 安装 我们需要关闭掉防火墙,命令如下: sudo ufw disable 下载2.6.5的版本, ...
- redis的安装配置
主要讲下redis的安装配置,以及以服务的方式启动redis 1.下载最新版本的redis-3.0.7 到http://redis.io/download中下载最新版的redis-3.0.7 下载后 ...
- Windows环境下的NodeJS+NPM+Bower安装配置
npm作为一个NodeJS的模块管理,之前我由于没有系统地看资料所以导致安装配置模块的时候走了一大段弯路,所以现在很有必要列出来记录下.我们要先配置npm的全局模块的存放路径以及cache的路径,例如 ...
- ubuntu kylin 14.04安装配置MongoDB v2.6.1(转)
1.获取最新版本 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.1.tgz 2.解压并进入bin目录 tar zxvf mongo ...
- Django基础之安装配置
安装配置 一 MVC和MTV模式 著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层:他们之间以一种插件似的,松耦合的方式连接在一起. 模型负责业务对象与数据库的 ...
- 【转】Windows平台下的Subversion安装配置新手指南
原文地址:http://developer.51cto.com/art/201005/199628.htm 本文介绍Subversion安装配置快速指南,首先讲Subversion的安装和配置,Uni ...
随机推荐
- hdu 4517(递推枚举统计)
小小明系列故事——游戏的烦恼 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)To ...
- Android自定义Dialog多选对话框(Dialog+Listview+CheckBox)
先放效果截图 项目中需要有个Dialog全选对话框,点击全选全部选中,取消全选全部取消.下午查了些资料,重写了一下Dialog对话框.把代码放出来. public class MainActivity ...
- 调用Thread.interrupt()方法到底会发生什么?
1. 当线程处于Blocked状态(sleep,wait,join),线程会退出阻塞状态,并抛出一个InterruptedException.park除外,它有响应但是不会抛出异常 2. 当线程处于R ...
- Codeforces Gym100971 L.Chess Match (IX Samara Regional Intercollegiate Programming Contest Russia, Samara, March 13)
这个题就是两个队,看最多能赢的个数,然后比较一下,看两个队是都能赢彼此,还是只有一个队赢的可能性最大.表达能力不好,意思差不多... 和田忌赛马有点像,emnnn,嗯. 代码: 1 #include& ...
- NWU现场赛——解题报告
负二进制转换 Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Problem Desc ...
- ansible 手册
ansible 官方文档:https://docs.ansible.com/ansible/latest/index.html ansible 中文入门:http://getansible.com/ ...
- 洛谷——P1462 通往奥格瑞玛的道路
P1462 通往奥格瑞玛的道路 题目背景 在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己的家乡 ...
- jzyzOJ 1658【bzoj1798改编】
#include<iostream> #include<cstring> #include<cstdio> #include<ctime> #inclu ...
- CBIntrospector俗称:内部检查工具
Download View Introspector (CBIntrospector)内部检查工具是IOS和IOS模拟器的小工具集,帮助在调试的UIKit类的用户界面,它尤其有用于动态UI布局创建 ...
- Android Gradle 经验总结
用过android studio的对gradle应该都不陌生了,gradle文件的基本配置大同小异,略做了解使用应该是没什么问题了.但是深入细致的了解一下对于理解项目还是很有帮助的,尤其是遇到一些配置 ...