admin管理员组文章数量:1658460
博主前面已经在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/downloads.html
配置2.4.11的原因是笔记本比较古老,安装的是vs2010,opencv2.4.11支持vc10/vc11/vc12,即vs2010/2012/2013。2.4.12及之后版本不支持vs2010了……
visual studio下载:http://www.itellyou/
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/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均可编译通过。
本文标签: bit
版权声明:本文标题:opencv2.4.11+vs2010+win7-64bit配置 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1729803790a1213115.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论