OpenCV入门笔记

初学,图像识别什么都不懂,一点点摸索

环境:win2008 r2 x64,    vs2008 日常x86编译

下载了最新的opencv 3.2.0 

发现从3.0开始,opencv只自带x64的链接库,没有x86,只好自己用开源代码重新编译x86版本

摸索了几个小时,发现因为底层库的关系,已经不再支持VS2008,哪怕重新编译OPENCV源代码

最终选择2.4.13,最后一个能支持VS2008的版本。


文档地址:http://docs.opencv.org/2.4.13/






解压缩到d:\opencv,因为更深的目录,不支持中文,他默认编码集是unicode

使用cmake,

源地址:D:/opencv/sources

目标地址:D:/opencv/build_byFBI

configure:VS 9 2008


然后一路测试,把有问题的组件都去掉(一般是doc,CUDA),等都没问题了,就Generate(生成sln)

然后用vs2008打开,全部重编译。


1)在Debug下,选择(解决方案资源管理器)里的 Solution OpenCV(解决方案“OpenCV”),点右键,运行"Rebuild Solution";如编译无错误,再选择INSTALL项目,运行"Build"。
2)在Release下,同理


重编译要得到的东西:Debug版本和Release版本的dll,lib,头文件,都在install文件夹里,其余文件可以删除。

在项目的配置中,加上【附件包含目录】"..\opencv\opencv-2.4.13\build\include"






代码中加上:



#ifdef _DEBUG


#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_calib3d2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_contrib2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_core2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_features2d2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_flann2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_gpu2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_highgui2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_imgproc2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_legacy2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_ml2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_nonfree2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_objdetect2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_ocl2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_photo2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_stitching2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_superres2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_ts2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_video2413d.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_videostab2413d.lib")




#else




#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_calib3d2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_contrib2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_core2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_features2d2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_flann2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_gpu2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_highgui2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_imgproc2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_legacy2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_ml2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_nonfree2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_objdetect2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_ocl2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_photo2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_stitching2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_superres2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_ts2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_video2413.lib")
#pragma comment(lib,"../opencv/opencv-2.4.13/build_byFBI/install/x86/vc9/lib/opencv_videostab2413.lib")




#endif









另外,这后面是准备素材:

在cmake官网下载cmake-3.9.1-win64-x64.msi,https://cmake.org/download/

我不用python,所以就不下载Python libraries、Numpy库了

在intel官网下载Intel Threading Building Blocks (TBB),https://software.intel.com/en-us/intel-ipp,在opencv官方介绍是说Using this will make sure that the OpenCV library will take advantage of all the cores you have in your system's CPU.

在eigen官网下载Eigen 3.3.4,他是一个线性代数的C ++模板库,http://eigen.tuxfamily.org/index.php?title=Main_Page#Download

如果你有NVIDIA显卡,强烈建议下载安装CUDA安装包,http://developer.nvidia.com/cuda-downloads,他将允许您使用GPU内部的电源。这将大大提高某些算法的性能。

OpenNI框架下载,https://structure.io/openni

Doxygen下载,http://www.stack.nl/~dimitri/doxygen/download.html

不用qt框架,所以不装了。



自此,素材下载全了。天哪,这么多






参考文献:http://blog.csdn.net/abcCL6/article/details/43061349

感谢,给了很大启发。

猜你喜欢

转载自blog.csdn.net/u014265135/article/details/77463441