OpenCV入门笔记
来源:互联网 发布:淘宝卖家快递单打印 编辑:程序博客网 时间:2024/06/08 18:17
初学,图像识别什么都不懂,一点点摸索
环境: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
感谢,给了很大启发。
- opencv入门笔记之一
- OpenCV入门笔记
- OpenCV入门笔记
- 【openCV入门笔记2】
- OpenCV入门笔记(二)
- OpenCV学习笔记: 快速入门例程
- opencv学习笔记0 编程简介入门
- OpenCV学习笔记: 快速入门例程
- opencv存入数据库图片入门笔记
- OpenCV入门笔记(三) 图片处理
- OpenCV入门笔记(四) 边缘检测
- OpenCV入门笔记(五) 轮廓检测
- OpenCV入门笔记(六) 形态学变换
- OpenCV入门笔记(八) 直方图
- opencv入门笔记at的用法
- [openCV] opencv学习笔记-入门(25)Mat 的学习
- OpenCV 入门
- OpenCV 入门
- 第一行代码 第九章 网络技术
- 数据库简单介绍
- 跳动的心
- [51Nod 1110 距离之和最小 V3]三分
- 浅谈Java中的equals和==
- OpenCV入门笔记
- POJ 1222 EXTENDED LIGHTS OUT【暴力dfs】
- 解压版mysql安装
- Bit Manipulation-----190. Reverse Bits&&191. Number of 1 Bits
- 猜扑克牌
- socket学习
- lua table
- 阿里巴巴2017测试题--抽奖
- Java中的四种内部类