zoukankan      html  css  js  c++  java
  • Emgu安装配置及使用

    前言:项目需要,需使用图像处理来完成机械臂从运动的皮带上抓取物体的功能,所以又重拾视觉与图像处理内容。

    内容:Emgu是OpenCV的一个跨平台的.NET封装,结构如下图所示:

        下载地址:http://sourceforge.net/projects/emgucv/,下载最新版本的就好。

         运行下载的EXE文件,完成后添加环境变量:我的电脑->属性->高级系统设置->环境变量->编辑或者新建PATH变量,添加安装目录下bin文件所在的路径,

         如";F:installemguemgucv-windows-universal 3.0.0.2157in",保存即完成配置。

         配置完成后,可以打开VS软件测试一下。我用的是VS2015,没有摄像头,仅写个简单的读取图片处理,程序如下:

     1 using System.Windows;
     2 using Emgu.CV;
     3 using Emgu.CV.Structure;
     4 using Emgu.CV.WPF;
     5 using Microsoft.Win32;
     6 
     7 namespace OpenImage
     8 {
     9     /// <summary>
    10     /// MainWindow.xaml 的交互逻辑
    11     /// </summary>
    12     public partial class MainWindow : Window
    13     {
    14         private Image<Bgr, byte> _originalImage;//原始图像
    15         private Image<Gray, byte> _processImage;//处理后得到的图像
    16         public MainWindow()
    17         {
    18             InitializeComponent();
    19         }
    20  
    21         //打开按钮事件,使用对话框形式选择图像打开并显示
    22         private void buttonOpen_Click(object sender, RoutedEventArgs e)
    23         {
    24             OpenFileDialog openFile = new OpenFileDialog();
    25             openFile.InitialDirectory = @"G:oe桌面图片";
    26             if (openFile.ShowDialog()==true)
    27             {
    28                 if (openFile.FileName != null)
    29                 {
    30                     _originalImage = new Image<Bgr, byte>(openFile.FileName);
    31                     originalImageBox.Source = BitmapSourceConvert.ToBitmapSource(_originalImage);
    32                 }               
    33             }
    34         }
    35 
    36         //对原始图像进行Canny处理并将结果显示出来
    37         private void buttonProcess_Click(object sender, RoutedEventArgs e)
    38         {
    39             _processImage = _originalImage.Canny(80,200,3,true);
    40             processedImageBox.Source = BitmapSourceConvert.ToBitmapSource(_processImage);
    41 
    42         }
    43     }
    44 }
    View Code

        程序中需要添加bin文件下的Emgu.CV、Emgu.CV.UI、Emgu.Util引用,并需要将Emgu.CV.WPF中的BitmapSourceConverter.cs文件添加到项目中,以便显示图片。

         程序运行结果如下图所示:

         

         这样的话,就说明Emgu库是可以用的。

         注意:程序刚开始运行的时候会出现一些错误,多数情况是缺少dll文件,可以针对不同的错误将相应的dll文件拷贝到debug文件夹中即可得到解决。

    Keep moving.
  • 相关阅读:
    discuz_ucenter_api_for_java的中文问题
    java的编码问题详解
    java的泛型的技巧
    向maven中央仓库提交jar
    Java并发之FutureTask
    java并发之Semaphore
    centos中JDK版本冲突的问题
    C++中嵌入Python
    boost::python的使用
    c++调用python引号的问题
  • 原文地址:https://www.cnblogs.com/zoe-yan/p/4813577.html
Copyright © 2011-2022 走看看