opencv2.4.11+vs2010+win7-64bit配置

博主前面已经在Ubuntu系统下完整安装ROS,包含了opencv库,ubuntu配置如下

ubuntu16.04 + kinetic安装命令
sudo apt install ros-kinetic-vision-opencv libopencv-dev python-opencv
package.xml指定编译和运行所需要的依赖包
<build_depend>opencv</build_depend>
<run_depend>opencv</run_depend>
CMakeLists.txt添加依赖项
find_package(OpenCV)
include_directories(${catkin_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS})
target_link_libraries(... ${OpenCV_LIBS})

 

接下来在Windows下配置opencv…… 

opencv下载:http://opencv.org/downloads.html

配置2.4.11的原因是笔记本比较古老,安装的是vs2010,opencv2.4.11支持vc10/vc11/vc12,即vs2010/2012/2013。2.4.12及之后版本不支持vs2010了……

visual studio下载:http://www.itellyou.cn/

opencv的安装即解压,博主opencv解压到 c:\      下。VS的安装破解度娘应该很多,略过。

 

1.环境变量修改

“计算机”右键“属性”,或者“控制面板”---“系统和安全”---“系统”……

面板左边“高级系统设置”---“系统属性”---“高级”---最下“环境变量”……

“环境变量”----“系统变量”选中“Path”----“编辑”或双击-----添加C:\opencv\build\x86\vc10\bin;C:\opencv\build\x64\vc10\bin,根据自己的路径修改,中间的分号为英文分号……

重启Windows!!!

 

2.配置vs2010(如下配置后,之后新建项目均无需再次配置)

新建空的控制台应用程序……

视图---属性管理器----展开Debug | Win32---双击Microsoft.Cpp.Win32.user或右键属性

通用属性----VC++目录----包含目录----

分别添加以下三个目录(根据自己的路径修改)

C:\opencv\build\include

C:\opencv\build\include\opencv

C:\opencv\build\include\opencv2

 

通用属性----VC++目录----库目录----

添加目录(根据自己的路径修改)

C:\opencv\build\x86\vc10\lib

对应的是win32编译器

若添加了路径C:\opencv\build\x64\vc10\lib,确保在x86的下面即先添加x64路径。或选择win64编译器。3.0.0及之后版本仅支持x64编译器,故不再支持vs2010

 

 

这里选择x86还是x64是一个常常令人困惑的问题。当然,对于32位操作系统,铁定就是选x86了。如果是64位操作系统,很多童鞋会想当然自作聪明地选择x64,其实不然。正确的理解是这样的:

 

不管你是32位还是64位操作系统,只用管你用win32编译器还是win64编译器。

其实配置选择什么跟64位还是32位系统没有直接的关系,而是在于你在编译你的程序的时候是使用那个编译器。

 

通用属性---链接器----输入----附加依赖项----

 

添加如下内容

 

opencv_calib3d2411d.lib
opencv_contrib2411d.lib
opencv_core2411d.lib
opencv_features2d2411d.lib
opencv_flann2411d.lib
opencv_gpu2411d.lib
opencv_highgui2411d.lib
opencv_imgproc2411d.lib
opencv_legacy2411d.lib
opencv_ml2411d.lib
opencv_nonfree2411d.lib
opencv_objdetect2411d.lib
opencv_ocl2411d.lib
opencv_photo2411d.lib
opencv_stitching2411d.lib
opencv_superres2411d.lib
opencv_ts2411d.lib
opencv_video2411d.lib
opencv_videostab2411d.lib
opencv_calib3d2411.lib
opencv_contrib2411.lib
opencv_core2411.lib
opencv_features2d2411.lib
opencv_flann2411.lib
opencv_gpu2411.lib
opencv_highgui2411.lib
opencv_imgproc2411.lib
opencv_legacy2411.lib
opencv_ml2411.lib
opencv_nonfree2411.lib
opencv_objdetect2411.lib
opencv_ocl2411.lib
opencv_photo2411.lib
opencv_stitching2411.lib
opencv_superres2411.lib
opencv_ts2411.lib
opencv_video2411.lib
opencv_videostab2411.lib


 

2411为版本号2.4.11,带d的为Debug版,不带的为release版

如果按照百度到的教程配置的话,一般*2411d.dll写在前面,而*2411.dll写在后面,结果就是Debug下能运行,release下不能运行(某些程序可以在Debug和release下都正常运行)。如需在release下运行,需重新配置,把*2411.dll写在前面或不写带d的。

该博文提供了一次配置的解决方案http://blog.csdn.net/leo2007608/article/details/38963947

版本3.0.0及之后版本,此处的.lib文件变少了,更加方便添加。

 

3.测试

控制台程序添加main.cpp条目,复制以下代码

 

#include <opencv2\opencv.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main()
{
    Mat img = imread("test.jpg");
    if(img.empty())
    {
        cout<<"error";
        return -1;
    }
    imshow("opencv_test",img);
    waitKey();

    return 0;
}

test.jpg文件需与main.cpp在同意文件夹下,此程序仅能在Debug下运行通过,release下输出error。

 

 

#include <opencv2\opencv.hpp>  
#include<iostream>
using namespace cv;
void main()
{
	IplImage *src;
	src = cvLoadImage("test.jpg"); //这里将test.jpg和main.cpp文件放在同一个文件夹下
	cvNamedWindow("test",CV_WINDOW_AUTOSIZE);
	cvShowImage("test",src);
	cvWaitKey();
	cvDestroyWindow("test");
	cvReleaseImage(&src);
}

此程序在Debug和release均可编译通过。
 

 

 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值