VC 2008 Express下安装OpenCV2.4.12
参考opencv中文网站给出的教程,非常详细http://wiki.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.3.1
过程中出现的error以及解决方法
openCV版本选择
一般就是选择最新的,官网上最新的是2.4.13,extract后出现下面问题
Windows install: can not open file “OpenCV-2.4.5.exe” as archive
最后解决方案:下载opencn-2.4.12安装包
版本匹配问题
在..\opencv\build\x86下,会有如下几个文件夹
安装说明中,vs2008要选择的是vc9,而vc11和vc12分别匹配vs2010和vs2011解决方案:
自己用vs2008编译OpenCV(也就是安装教程中用cmake自己编译过程)按照安装说明下载cmake之后,在cmake-gui中设置where is the
source code路径为OpenCV安装路径
出现错误 :CMake Error: The source directory “../opencv” does not appear to contain CMakeLi sts.txt.解决方案:
将where is the source code路径改为F:/Program Files (x86)/opencv /sourcescmake configure过程出错
CMake error: error in configuration process, project files may be invalid出错原因及解决方案:
Configure 选项选成了Visual Studio 9 2008 win64,应该按照官网选择Visual Studio 9 2008编译 OpenCV Debug和Release版本库
编译出错,无法打开文件“python27_d.lib”解决方案:直接忽略
配置VS2008和环境变量
官网给出的路径稍微有点错误,应按如下路径配置
配置lib路径:
..\opencv\build\my\install\ x86\vc9\lib
设置环境变量
..\opencv\build\my\install\ x86\vc9\bin配置项目属性
按官网所示给项目属性添加附加依赖项,但编译测试程序会有如下报错出现:
INK : fatal error LNK1104: 无法打开文件“opencv_calib3d2412.lib;”解决方案:注意两点
1、文件名称应该跟版本相对应,如opencv-2.4.12对应文件 名“opencv_calib3d 2412.lib”
2、opencv_calib3d2412.lib后面不能加分号2.4.12版本参考下面:
opencv_calib3d2412d.lib opencv_contrib2412d.lib opencv_core2412d.lib opencv_features2d2412d.lib opencv_flann2412d.lib opencv_gpu2412d.lib opencv_highgui2412d.lib opencv_imgproc2412d.lib opencv_legacy2412d.lib opencv_ml2412d.lib opencv_objdetect2412d.lib opencv_ts2412d.lib opencv_video2412d.lib
opencvTest.cpp
//显示图像文件 #include <opencv2/opencv.hpp> using namespace std; #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"") int main() { const char *pstrWindowsTitle = "OpenCV第一个程序(http://blog.youkuaiyun.com/MoreWindows)"; //从文件中读取图像 IplImage *pImage = cvLoadImage("baboon.jpg",1); if(!pImage) printf("Could not load image file\n"); //创建窗口 cvNamedWindow(pstrWindowsTitle, CV_WINDOW_AUTOSIZE); //在指定窗口中显示图像 cvShowImage(pstrWindowsTitle, pImage); //等待按键事件 cvWaitKey(); cvDestroyWindow(pstrWindowsTitle); cvReleaseImage(&pImage); return 0; }
运行测试程序,图片无法显示,一片灰色
解决方案:
将直接拷贝到代码所在的文件,直接复制在vs页面的解决方案资源管理器没有用
Reference
[1]http://blog.youkuaiyun.com/morewindows/article/details/8225783/
[2]http://wiki.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.3.1
[3]http://www.opencv.org.cn/forum.php?mod=viewthread&tid=32651