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 ...
随机推荐
- 《30天学习30种新技术》-Day 15:Meteor —— 从零开始创建一个 Web 应用
目录:https://segmentfault.com/a/1190000000349384 原文: https://segmentfault.com/a/1190000000361440 到目前为止 ...
- hdu 4738 无向图缩点断桥 // 细节坑题
Caocao's Bridges 题意:给个无向图,求出边权最小的桥. 一看,直接缩点,若无桥,输出-1,有桥,遍历下边,更新最小..分分钟搞定,以为IA的..一交wa... 坑点:1:若原图不连通, ...
- HDU 5997 rausen loves cakes(启发式合并 + 树状数组统计答案)
题目链接 rausen loves cakes 题意 给出一个序列和若干次修改和查询.修改为把序列中所有颜色为$x$的修改为$y$, 查询为询问当前$[x, y]$对应的区间中有多少连续颜色段. ...
- 我眼中的AI
!!!!本文禁止转载,引用,仅供观看 最初了解人工智能是在我上大二的时候,在看头条的时候经常看到有关人工智能的事情,当时的我和大多数的人一样,感觉人工智能很神奇.当时就整晚整晚的想人工智能会取代人类呀 ...
- mysql共享锁与排它锁
共享锁shared lock(也叫读锁read lock)又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁.这保证了其 ...
- Delphi 释放数组中的数据
FillChar(aryTest[Low(aryTest)], Length(aryTest) * SizeOf(aryTest[Low(aryTest)]), 0);
- Using Single Alert For Messages And Confirmation Messages In Oracle Forms With Set_Alert_Button_Property
Learn how to use single Oracle Form's Alert object for warning/information messages and confirmation ...
- 【IntelliJ Idea】idea下hibernate反向生成工具,根据数据表生成实体
idea插件很齐全,不像ecplise一样.所以直接来步骤吧: 1.选择项目,右键-->Add Frameworks Support-->勾选Hibernate-->勾选Import ...
- PHP使用frameset制作后台界面时,怎样实现通过操作左边框架,使右边框架中的页面跳转?
左框架的链接,不仅要指定链接的文件名,还需要通过 target 属性指定要打开的目标框架名(即楼主要求的右框架名). 例:假设右框架为 <frame scr="lx1.htm" ...
- selenium遇到不可编辑input和隐藏input如何赋值
js = 'document.getElementsByName("m:csr_mt_gnccspjclfbxd:bmshldID")[0].type="text&quo ...