C# 调用OpenCV一 配置VS2010+OpenCV2.4.11+Emgu CV2.4.9

424 篇文章 1 订阅
348 篇文章 0 订阅
C# 调用OpenCV

Emgu CVOpenCV的一个跨平台的.Net封装,由于OpenCV是用C和C++编写的,Emgu用C#对其进行封装,允许用.Net语言来调用OpenCV函数,如C#、VB、VC++等,同时该封装也可以被编译到Mono平台和允许在Windows、Mac OS、Android、iPhone、iPad等多个平台上运行.

Emgu CV官方下载Emgu CV http://www.emgu.com
安装包下载地址:  http://sourceforge.net/projects/emgucv/

官方参考文档地址:http://www.emgu.com/wiki/files/2.4.10/document/index.html
这里使用的Emgu CV是:libemgucv-windows-universal-gpu-2.4.9.1847.exe 
VS2010已经配置OpenCV2.4.11的基础上,配置C#调用Emgu CV环境。OpenCV2.4.11安装在D:\Program File\opencv目录下。

1、Em gu CV安装包安装时,安装路径可以直接放到opencv2.4.11的目录下。


2、Emgu CV安装后

进入bin/x86文件夹 是运行时所需要的依赖文件,在开发时,需要把这些文件复制到程序的Debug文件夹内,不然会抛出 T ypeInitializerException 异常:

有关EmguCV相关的类都在bin文件夹里面

3、新建C#测试程序
(1)新建一个C#窗体应用程序,并在Form1中添加一个按钮控件。

(2)添加引用,D:\Program File\opencv\emgucv-windows-universal-gpu 2.4.9.1847\bin目录下的:Emgu.CV.dll;Emgu.Util.dll;Emgu.CV.DebuggerVisualizers.VS2010.dll;ZedGraph.dll


emgu cv安装目录D:\Program File\opencv\emgucv-windows-universal-gpu 2.4.9.1847\bin\x86下的所需要的依赖文件,在开发时,需要把这些文件复制到程序的Debug文件夹内。

(3)添加代码:
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;  	//引用添加进来的命名空间
using Emgu.Util;	//引用添加进来的命名空间

namespace CSharp_opencv
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {

            IntPtr img = CvInvoke.cvLoadImage("E:\\图库\\abc.jpg", Emgu.CV.CvEnum.LOAD_IMAGE_TYPE.CV_LOAD_IMAGE_COLOR);
            CvInvoke.cvNamedWindow("hello");
            CvInvoke.cvShowImage("hello", img);
            CvInvoke.cvWaitKey(0);
            CvInvoke.cvReleaseImage(ref img);
            CvInvoke.cvDestroyWindow("hello");
        }
    }
}
4编译程序,运行结果如图:


0
0
 
 


参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值