vs2010+opencv配置
2017-07-27 16:22
260 查看
最近开始做图像识别,希望通过博客做一些记录。
配置方法也是参考了很多前辈的文章,然后自己整理了一下。
参考如下:
OpenCV(一) 安装配置篇 opencv2.49以及vs2010及其以上版本
OpenCV入门教程之一 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
LINK:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
32位系统 & VC2010,库目录 %OpenCV%\build\x86\vc10\lib
64位系统 & VC2010,库目为:%OpenCV%\build\x64\vc10\lib
【计算机】->【(右键)属性】->【高级系统设置】->【高级(标签)】->【环境变量】
->“双击”系统变量中的PATH->在变量值里面添加相应的路径。如图:
在后面加入;%OpenCV%\build\x86\vc10\bin
(据浅墨文章中介绍说64位系统也只需添加这一个就行,我先试验一下)
1 打开Visual Studio -> 文件 -> 新建 -> Win32控制应用程序,输入名称test,然后选好路径,点击确定。
2 下一步。
3 勾选空项目,完成。
4 在解决方案资源管理器的【源文件】处右击->添加->新建项,准备在工程中新建一个cpp源文件,添加。
5 在属性管理器中进行一次配置,就相当于进行了通用的配置过程,以后新建的工程就不用再额外的进行重新配置了。
在菜单栏里面点<视图>–<属性管理器>,那么就会在visual studio中多出一个属性管理器工作区来。
6 在属性管理器工作区,点击 Debug|Win32 -> Microsoft.Cpp.Win32.user (右键属性,或者双击)即可打开属性页面。
打开属性页面后,首先在【通用属性】 ->【VC++目录】 ->【包含目录】中添加上
D:\opencv249\opencv\build\include
D:\opencv249\opencv\build\include\opencv
D:\opencv249\opencv\build\include\opencv2 这三个目录。
7 在属性管理器工作区中,点击【通用属性】 ->【VC++目录】 ->【库目录】中
添加上
D:\opencv249\opencv\build\x86\vc10\lib
64位系统也是选择x86文件夹,因为配置选择和系统并没有直接关系,而是看编译时选择的编译器。
8 在属性管理器工作区中,点击【通用属性】 ->【链接器】->【输入】->【附加的依赖项】
添加如下249版本的lib
opencv_ml249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib
重启电脑之后即可进行测试(环境变量设置可能没有生效,重启就可以了)
在main.cpp中输入
放置一张名为pic.jpg的图片到工程目录(F:\Project\VS2010\test\test)中,然后点击“运行“按钮(选择Debug),如果配置成功,就不会报错,得到预想的运行结果。
解决方案:想在release模式下运行出程序结果,在工程的release模式下,将不带d的lib(全部是19个)添加到【项目】->【属性】(注意这样打开的是当前工程的属性页,我们只需在这里将release版(即不带d)的相关lib添加进去)->【配置属性】->【链接器】->【输入】->【附加的依赖项】下即可。
2 运行时出现LINK:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
解决方案:查看计算机是否为64bit操作系统,如是,继续如下操作。
查找是否有两个cvtres.exe。
C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe
C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe
右键属性—详细信息, 查看两者版本号,删除/重命名较旧的版本。
配置方法也是参考了很多前辈的文章,然后自己整理了一下。
参考如下:
OpenCV(一) 安装配置篇 opencv2.49以及vs2010及其以上版本
OpenCV入门教程之一 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
LINK:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
1.安装opencv-2.4.9.exe
2.配置环境变量path
%OpenCV%代表安装目录,vc10是vc的版本,可以查看目录支持什么版本(我的安装目录为D:\opencv249\opencv)32位系统 & VC2010,库目录 %OpenCV%\build\x86\vc10\lib
64位系统 & VC2010,库目为:%OpenCV%\build\x64\vc10\lib
【计算机】->【(右键)属性】->【高级系统设置】->【高级(标签)】->【环境变量】
->“双击”系统变量中的PATH->在变量值里面添加相应的路径。如图:
在后面加入;%OpenCV%\build\x86\vc10\bin
(据浅墨文章中介绍说64位系统也只需添加这一个就行,我先试验一下)
3.配置VC项目
正常来说,每次都要重新配置,浅墨的文章中在属性管理器中进行配置只需配置一次即可。1 打开Visual Studio -> 文件 -> 新建 -> Win32控制应用程序,输入名称test,然后选好路径,点击确定。
2 下一步。
3 勾选空项目,完成。
4 在解决方案资源管理器的【源文件】处右击->添加->新建项,准备在工程中新建一个cpp源文件,添加。
5 在属性管理器中进行一次配置,就相当于进行了通用的配置过程,以后新建的工程就不用再额外的进行重新配置了。
在菜单栏里面点<视图>–<属性管理器>,那么就会在visual studio中多出一个属性管理器工作区来。
6 在属性管理器工作区,点击 Debug|Win32 -> Microsoft.Cpp.Win32.user (右键属性,或者双击)即可打开属性页面。
打开属性页面后,首先在【通用属性】 ->【VC++目录】 ->【包含目录】中添加上
D:\opencv249\opencv\build\include
D:\opencv249\opencv\build\include\opencv
D:\opencv249\opencv\build\include\opencv2 这三个目录。
7 在属性管理器工作区中,点击【通用属性】 ->【VC++目录】 ->【库目录】中
添加上
D:\opencv249\opencv\build\x86\vc10\lib
64位系统也是选择x86文件夹,因为配置选择和系统并没有直接关系,而是看编译时选择的编译器。
8 在属性管理器工作区中,点击【通用属性】 ->【链接器】->【输入】->【附加的依赖项】
添加如下249版本的lib
opencv_ml249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib
重启电脑之后即可进行测试(环境变量设置可能没有生效,重启就可以了)
在main.cpp中输入
#include<iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> using namespace cv; int main() { // 读入一张图片(游戏原画) Mat img=imread("pic.jpg"); // 创建一个名为 "游戏原画"窗口 namedWindow("游戏原画"); // 在窗口中显示游戏原画 imshow("游戏原画",img); // 等待6000 ms后窗口自动关闭 waitKey(6000); }
放置一张名为pic.jpg的图片到工程目录(F:\Project\VS2010\test\test)中,然后点击“运行“按钮(选择Debug),如果配置成功,就不会报错,得到预想的运行结果。
遇到的问题
1 出现debug下可以运行但是release下不能运行的情况(因为字符串读取问题引起的诸如图片载入不了,报指针越界,内存错误等等),这算是OpenCV自2.4.1以来的一个bug。解决方案:想在release模式下运行出程序结果,在工程的release模式下,将不带d的lib(全部是19个)添加到【项目】->【属性】(注意这样打开的是当前工程的属性页,我们只需在这里将release版(即不带d)的相关lib添加进去)->【配置属性】->【链接器】->【输入】->【附加的依赖项】下即可。
2 运行时出现LINK:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
解决方案:查看计算机是否为64bit操作系统,如是,继续如下操作。
查找是否有两个cvtres.exe。
C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe
C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe
右键属性—详细信息, 查看两者版本号,删除/重命名较旧的版本。
相关文章推荐
- WIN7(32位)VS2010+openCV 2.4.10+PCL 1.6.0+CUDA 6.5.14+CMake 3.2.1+SSBA-3.0配置
- 配置安装OpenCV(VS2010+OpenCV 2.4.3 + 64位系统+Win7)
- VS2010+Opencv-2.4.0的配置攻略
- vs2010+openCV 配置
- VS2010+Opencv_2.4.7+win7的配置攻略及错误解决
- VS2010+Opencv-2.4.0的配置攻略
- VS2010+Opencv-2.4.9的配置攻略
- VS2010+OpenCV2.3.1+_Win7_的配置过程
- VS2010+Opencv-2.4.0的配置攻略
- VS2010+Opencv-2.4.0的配置
- vs2010+OpenCV_2.4.10永久配置
- VS2010+OpenCV配置
- vs2010+opencv配置
- VS2010+OpenCV2.4.9环境配置
- VS2010+Opencv-2.4.0的配置攻略
- VS2010+Opencv_2.4.7+win7的配置攻略及错误解决
- VS2010+OpenCV 配置
- vs2010+opencv 使用Microsoft.Cpp.Win32.user配置opencv 依赖的lib的问题
- VS2010+Opencv-2.4.9的配置攻略
- VS2010+Opencv-2.4.0的配置攻略