我们大家都知道opencv是针对C、C++编写的,没有独立的编译调试工具。所以今天就捣鼓了一下在xp vs2010下配置C++和C#环境下的opencv。请大家一步一步的按步骤操作。本人亲自鉴定可行。

VS2010下OpenCV、EmguCV(C#)安装和使用配置,首先是安装环境:

OS:Win7旗舰版64位

平台:VS2010旗舰版 x86

下面的安装包来自国外网站,有一些用户需要FQ才能下载。。

安装包版本(针对C++):OpenCV2.4.0 x86 下载地址:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.0/OpenCV-2.4.0.exe/download

EmguCV2.4.0 x86 (针对C#)下载地址:http://sourceforge.net/projects/emgucv/files/emgucv/2.4.0/libemgucv-windows-x86-gpu-2.4.0.1773.exe/download

一:针对C++配置opencv

1.    系统Path里添加(注销当前用户或者重启系统会生效):

1.1 计算机->(右键)属性->高级系统设置->高级(标签)->环境变量->(双击)path(用   户,系统里面的path任选其一)->在变量值最后面输入(用分号;隔开):;D:\Program Files\OpenCV\OpenCV-2.4.0-win\vc10\bin;D:\Program Files\OpenCV\Tbb_win\bin\ia32\vc10

2.    用VS2010新建控制台工程测试:

1)、文件->新建->项目->Visual C++->Win32 控制台应用程序(输入名称test)

2)、确定->下一步->附加选项选“空项目”->完成

3)、解决方案资源管理器->源文件(右键)->添加->新建项

4)、Visual C++->C++文件:输入名称test点添加

5)、粘贴下面的代码,保存

#include <opencv2\opencv.hpp>

#include <iostream>

#include <string>

using namespace cv;

using namespace std;

int main()

{

Mat img = imread("pp.jpg");

if(img.empty())

{

cout<<"error";

return -1;

}

imshow("xx的靓照",img);

waitKey();

return 0;

}

6)、把自己的靓照改名为pp.jpg,然后放到工程项目的test文件夹里面(是里面那个test文件夹)

3.项目(菜单项)→ 当前项目属性 → VC++目录:需要配置“包含目录”。

D:\Program Files\OpenCV\OpenCV-2.4.0-win\vc10\include

D:\Program Files\OpenCV\OpenCV-2.4.0-win\vc10\include\opencv

D:\Program Files\OpenCV\OpenCV-2.4.0-win\vc10\include\opencv2

4. 项目(菜单项)→ 当前项目属性 → VC++目录:需要配置“库目录”两项:D:\Program Files\OpenCV\OpenCV-2.4.0-win\vc10\lib; D:\Program Files\OpenCV\Tbb_win\lib\ia32\vc10

5.配置连接器:项目(菜单项)→ 当前项目属性 → 连接器 → 输入 → 附加依赖项

针对debug配置添加以下库

opencv_calib3d240d.lib;

opencv_contrib240d.lib;

opencv_core240d.lib;

opencv_features2d240d.lib;

opencv_flann240d.lib;

opencv_gpu240d.lib;

opencv_haartraining_engined.lib;(实际配置中这个库要去掉,不然报错)

opencv_highgui240d.lib;

opencv_imgproc240d.lib;

opencv_legacy240d.lib;

opencv_ml240d.lib;

opencv_nonfree240d.lib;

opencv_objdetect240d.lib;

opencv_photo240d.lib;

opencv_stitching240d.lib;

opencv_ts240d.lib;

opencv_video240d.lib;

opencv_videostab240d.lib

如果是release配置(以后再说,只需要添加上面的debug配置就行了现在),则添加:

opencv_calib3d240.lib

opencv_contrib240.lib

opencv_core240.lib

opencv_features2d240.lib

opencv_flann240.lib

opencv_gpu240.lib

opencv_highgui240.lib

opencv_imgproc240.lib

opencv_legacy240.lib

opencv_ml240.lib

opencv_objdetect240.lib

opencv_ts240.lib

opencv_video240.lib

6. 按F5运行,如果图片显示出来就说明配置成功。

7.编译地时候 CvRound错误处理:项目(菜单项)→ 当前项目属性 → 常规 → 公共语言运行时支持 →公共语言运行时支持(/clr)

二:针对C#来配置opencv

过程类似。我安装(直接安装刚才下载的安装包)在D:\CV下面,以便统一管理。

用户变量PATH添加:D:\CV\Emgu\emgucv-windows-x86-gpu 2.4.0.1773\bin;

调试运行时候,记得添加dll文件的引用和using 指令。

有人说需要导入UI插件,我没有导入但还是跑通了。顺便记下以便备用:

点击“工具(T)” -> “选择工具箱项(X)…” ,在新打开的窗口中选择:“.NET Framework组件”,点击“浏览”,到目录:C:\Emgu\emgucv-windows-x86 2.4.0.1773\bin下,双击Emgu.CV.UI.dll即可
 
测试代码大家可以从网上下载,也可以用opencv或emgu里面自带的例子。
如果需要安装软件的话请向我索取就可以啦。。。并希望结交朋友共同学习机器视觉和上位机软件C#编程。。
 

 

VS2010编译器下针对C#和C++的opencv的配置方法的更多相关文章

  1. stm32f107vc在IAR环境下,引用库函数的工程文件的配置方法

    stm32做开发很方便的一个原因是大家可以稍稍放松对于硬件寄存器等的设置,因为stm32有了非常丰富和实用的库函数,外设文件等等,所以我们在使用的时候可以更加关注程序开发的过程和逻辑关系.但是,在开发 ...

  2. 在CentOS6.5 下安装并使用Java开发opencv的配置(一)

    1) 安装gcc以及cmake等等乱七八糟的软件 yum install gcc yum install python yum install cmake yum groupinstall " ...

  3. Apache下禁止使用IP直接访问本站的配置方法

    现在管的严啊,上面要求不能使用IP直接访问服务器,把apache配置做下调整就行了.方法如下: 打开apache的配置文件 # vi /usr/local/apache2/conf/extra/htt ...

  4. Mac下开启与关闭端口转发的脚本配置方法

    一.依次运行以下命令: cd /etc ls | grep pf.conf sudo cp pf.conf pf.conf.normal.bak sudo cp pf.conf pf.conf.tra ...

  5. 实战解读丨Linux下实现高并发socket最大连接数的配置方法

    摘要:Linux操作系统,无论是编写客户端程序还是服务端程序,在高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制. [诉求场景] Linux操作系统,无论是编写 ...

  6. Boost学习总结(一)VS2010环境下编译STLport和Boost

    Boost学习总结(一)VS2010环境下编译STLport和Boost Boost简介 Boost库是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库.1998年,Beman G.Da ...

  7. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  8. .net(C#)在vs2010版本下的MVC如何配置才能切换静态页面(html)

    由于vs2010用的人比较多,虽然建mvc项目vs2010可能还不成熟,但鉴于每个人的成长有限,每个地方的资源有限,最主要的是为了解决问题,所以先不管那么多了. 用vs2010为公司网站建站,要求js ...

  9. Win7+VS2010环境下CEGUI 0.8.4编译过程详解

    转载▼   1. 在http://cegui.org.uk/download 下载CEGUI源码包 cegui-0.8.4 以及CEGUI依赖库(Windows / Apple OS X only) ...

随机推荐

  1. SQL 数据库表标识列初始化 DBCC

    把ArimaIndexForecastModel这张表的标识列重置为0,前提是这张表执行过删除操作 示例:  dbcc checkident('ArimaIndexForecastModel',res ...

  2. 使用 github.io 免费建站

    /*************************************************************************** * 使用 github.io 免费建站 * 说 ...

  3. ECSHOP 商品评论条件修改——购买过该商品且只能评价一次(购买多少次能评价多少次)

    下文转自http://bbs.ecshop.com/thread-1131529-1-1.html ECSHOP 商品评论条件修改,修改为购买过该商品多少次,就只能评价多少次.不需要修改数据库,原理简 ...

  4. a标签包input引起的问题

    最近公司中的一个项目中,有一个同事跟我说,他写的输入框不能选中输入内容了,并且光标也不能插入到已写好的文字其他位置. 简化了一下他的代码结构,如下: <a href="javascri ...

  5. Linux初识(转)

    文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基本原理.文件存储结构.软链接 ...

  6. 不要随随便便的distinct和order by

    相关查询非常慢,通过程序拿到了相关sqlexplainexplain SELECT DISTINCT(o.orders_id), o.oa_order_id, customers_email_addr ...

  7. 使用Rxjava缓存请求

    最近,我尝试使用RxJava开发了一款闲时备份app.我必须承认,一旦你get到了正确的方式,RxJava几乎感觉就像作弊.一切看起来更简洁,多个请求能够被组合,且非常容易控制.通过在UI线程观察和在 ...

  8. DataReader方式 获取数据的操作

    一.使用DataReader读取为对象List /// <summary> /// 获得数据列表List<>,DataReader 使用参数的 /// </summary ...

  9. C++ 串

    ♣ string 的基类basic_string中没有虚函数,它无意成为基类.更像是为了处理字符相关的问题而专门提供的一个工具及操作方法.如:想要在一个字符串str1中查找str2,没必要每次都去写K ...

  10. Axure中继器基础教程(增行、删当前、标记、全部、规则行) Mark

    ---恢复内容开始--- 一.中继器的新增行 中继器所显示的列表项与中继器的数据集有关,默认情况下是一一对应的.也就是说,中继器数据集中有多少行数据,那么,列表项就有多少个. 那么,我们能不能通过新增 ...