VS2010编译器下针对C#和C++的opencv的配置方法
我们大家都知道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插件,我没有导入但还是跑通了。顺便记下以便备用:

VS2010编译器下针对C#和C++的opencv的配置方法的更多相关文章
- stm32f107vc在IAR环境下,引用库函数的工程文件的配置方法
stm32做开发很方便的一个原因是大家可以稍稍放松对于硬件寄存器等的设置,因为stm32有了非常丰富和实用的库函数,外设文件等等,所以我们在使用的时候可以更加关注程序开发的过程和逻辑关系.但是,在开发 ...
- 在CentOS6.5 下安装并使用Java开发opencv的配置(一)
1) 安装gcc以及cmake等等乱七八糟的软件 yum install gcc yum install python yum install cmake yum groupinstall " ...
- Apache下禁止使用IP直接访问本站的配置方法
现在管的严啊,上面要求不能使用IP直接访问服务器,把apache配置做下调整就行了.方法如下: 打开apache的配置文件 # vi /usr/local/apache2/conf/extra/htt ...
- Mac下开启与关闭端口转发的脚本配置方法
一.依次运行以下命令: cd /etc ls | grep pf.conf sudo cp pf.conf pf.conf.normal.bak sudo cp pf.conf pf.conf.tra ...
- 实战解读丨Linux下实现高并发socket最大连接数的配置方法
摘要:Linux操作系统,无论是编写客户端程序还是服务端程序,在高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制. [诉求场景] Linux操作系统,无论是编写 ...
- Boost学习总结(一)VS2010环境下编译STLport和Boost
Boost学习总结(一)VS2010环境下编译STLport和Boost Boost简介 Boost库是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库.1998年,Beman G.Da ...
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
- .net(C#)在vs2010版本下的MVC如何配置才能切换静态页面(html)
由于vs2010用的人比较多,虽然建mvc项目vs2010可能还不成熟,但鉴于每个人的成长有限,每个地方的资源有限,最主要的是为了解决问题,所以先不管那么多了. 用vs2010为公司网站建站,要求js ...
- Win7+VS2010环境下CEGUI 0.8.4编译过程详解
转载▼ 1. 在http://cegui.org.uk/download 下载CEGUI源码包 cegui-0.8.4 以及CEGUI依赖库(Windows / Apple OS X only) ...
随机推荐
- IOS中用UIFont返回字体的行高、动态改变tableView中Cell的高度
一.动态改变Cell的高度 1.利用tableView代理方法的返回值决定每一行cell的高度 - (CGFloat)tableView:(UITableView *)tableView height ...
- Java笔记之数组
1.int flags[] = new int[10];数组中的每个元素初始化为0. Arrays.fill(flags, 0);将数组中每个元素置为0.
- 如何添加真机调试的iOS设备
注意点: 有时需要同意协议什么的,很多时候刷新出来都是白屏,解决办法: 对于不能确认新协议的问题,我发现了一个解决方法:登陆后,直接在浏览器的地址框访问:https://developer.apple ...
- zoj 3690 Choosing number
题意 就是说给你 N 个人站成一排,现在每个人都可以选择 1-M 中间的任意一个数字,相邻的两个人数字相同,则他必须是是 > K 的 问方案总数: 方法 先求出递推式,然后用矩阵 ...
- 【转】不可变数组NSArray与可变数组NSMutableArray
原文网址:http://www.jianshu.com/p/1ad327f56d1d 不可变数组NSArray //创建一个空数组 NSArray *array = [NSArray array]; ...
- Bootstrap初级用户谈谈网页在手机上的显示效果优化
本人之前已经使用Bootstrap有一段时间了,但是之前做出的网站都只是在电脑端使用,没有注意过手机端的显示效果.这两天自己使用Bootstrap做了一个简单的Web个人日志系统,想在手机端也使用,桌 ...
- centos mysq table is read only
1.进入mysql数据库目录,使用命令"chown -R mysql <数据库文件夹名称>" 2. "chgrp -R mysql <数据库文件夹名称& ...
- 脚本乐园 Shell中命令行选项和参数的处理
在Linux的Shell中怎样处理tail -n 10 access.log这样的命令行选项呢?这是被别人问起的一个问题,好好学习了一下,进行总结如下:在bash中,可以用以下三种方式来处理命令行参数 ...
- [偏微分方程教程习题参考解答]4.1Duhamel 原理
1. 如果已知下述常微分方程的特定初值问题 $$\bex \sedd{\ba{ll} -y''+y=0,&x>0,\\ y(0)=0,\quad y'(0)=1 \ea} \eex$$ ...
- Epic - Spiral Matrix
Given aNXN matrix, starting from the upper right corner of the matrix start printingvalues in a coun ...