OpenCV 学习笔记
2015-12-27 20:15
387 查看
一.环境搭建(Win7_X64+opencv-3.0.0+VS2012)
1.下载opencv-3.1.0.exe,解压到任意目录,如C:\opencv-3.0.0
vs版本对应关系为:
vc8 = Visual Studio 2005
vc9 = Visual Studio 2008
vc10 = Visual Studio 2010
vc11 = Visual Studio 2012
vc12 = Visual Studio 2013
所以如果是用VS2012,那么在opencv目录中应选择vc11这个文件夹作为路径配置的基础,因为一般开发的x86的程序,所以opencv中也应该选择x86这个文件夹作为路径配置的基础,切不可选择错,否则会运行提示缺失文件。
2.在系统的环境变量Path中追加C:\opencv-3.0.0\opencv\build\x86\vc11\bin路径,这样做的目的主要是为了VS在F5调试是能正确运行AP,如果将bin目录下的文件拷贝到exe文件的 路径,双击exe是可以正常运行的,但是如果没有配置环境变量,在vs中f5运行会提示缺失dll,文件。
在配置好环境变量在运行VS2012,如果先运行VS2012,再配置环境变量path,那么C:\opencv-3.0.0\opencv\build\x86\vc11\bin是读不到的,运行时会提示缺失dll,注意下,否则感觉都配置对了,就是无法运行,很让人抓狂。
3.在VS的工程中配置lib的路径,VC++目录->库目录:
C:\opencv-3.0.0\opencv\build\x86\vc11\lib,C:\opencv-3.0.0\opencv\build\x86\vc11\staticlib
设置include路径:
VC++目录->包含目录
C:\opencv-3.0.0\opencv\build\include
C:\opencv-3.0.0\opencv\build\include\opencv
C:\opencv-3.0.0\opencv\build\include\opencv2
4.添加lib文件名:
连接器->输入->附加依赖项:
opencv_ts300d.lib
opencv_world300d.lib
opencv_stitching300d.lib
opencv_videostab300d.lib
opencv_calib3d300d.lib
opencv_features2d300d.lib
opencv_objdetect300d.lib
opencv_highgui300d.lib
opencv_superres300d.lib
opencv_videoio300d.lib
opencv_imgcodecs300d.lib
opencv_shape300d.lib
opencv_photo300d.lib
opencv_video300d.lib
opencv_flann300d.lib
opencv_imgproc300d.lib
opencv_ml300d.lib
opencv_core300d.lib
IlmImfd.lib
libwebpd.lib
libtiffd.lib
libjasperd.lib
libpngd.lib
opencv_hal300d.lib
libjpegd.lib
zlibd.lib
文件名带d的都是debug版本,如果build realease工程换一下lib的名字,输入不带d的所有lib文件。
5.添加测试代码:
测试时发现,debug时如果声明了Mat对象,即使不调用,只是写在那里,什么都不做,关闭程序,就出现了内存泄漏,在网上找了半天方法,也有人遇到了类似的问题,最后发现将程序修改为"在静态图中使用MFC",就神奇的好了,暂时没时间看是什么问题,先这么处理吧
1.下载opencv-3.1.0.exe,解压到任意目录,如C:\opencv-3.0.0
vs版本对应关系为:
vc8 = Visual Studio 2005
vc9 = Visual Studio 2008
vc10 = Visual Studio 2010
vc11 = Visual Studio 2012
vc12 = Visual Studio 2013
所以如果是用VS2012,那么在opencv目录中应选择vc11这个文件夹作为路径配置的基础,因为一般开发的x86的程序,所以opencv中也应该选择x86这个文件夹作为路径配置的基础,切不可选择错,否则会运行提示缺失文件。
2.在系统的环境变量Path中追加C:\opencv-3.0.0\opencv\build\x86\vc11\bin路径,这样做的目的主要是为了VS在F5调试是能正确运行AP,如果将bin目录下的文件拷贝到exe文件的 路径,双击exe是可以正常运行的,但是如果没有配置环境变量,在vs中f5运行会提示缺失dll,文件。
在配置好环境变量在运行VS2012,如果先运行VS2012,再配置环境变量path,那么C:\opencv-3.0.0\opencv\build\x86\vc11\bin是读不到的,运行时会提示缺失dll,注意下,否则感觉都配置对了,就是无法运行,很让人抓狂。
3.在VS的工程中配置lib的路径,VC++目录->库目录:
C:\opencv-3.0.0\opencv\build\x86\vc11\lib,C:\opencv-3.0.0\opencv\build\x86\vc11\staticlib
设置include路径:
VC++目录->包含目录
C:\opencv-3.0.0\opencv\build\include
C:\opencv-3.0.0\opencv\build\include\opencv
C:\opencv-3.0.0\opencv\build\include\opencv2
4.添加lib文件名:
连接器->输入->附加依赖项:
opencv_ts300d.lib
opencv_world300d.lib
opencv_stitching300d.lib
opencv_videostab300d.lib
opencv_calib3d300d.lib
opencv_features2d300d.lib
opencv_objdetect300d.lib
opencv_highgui300d.lib
opencv_superres300d.lib
opencv_videoio300d.lib
opencv_imgcodecs300d.lib
opencv_shape300d.lib
opencv_photo300d.lib
opencv_video300d.lib
opencv_flann300d.lib
opencv_imgproc300d.lib
opencv_ml300d.lib
opencv_core300d.lib
IlmImfd.lib
libwebpd.lib
libtiffd.lib
libjasperd.lib
libpngd.lib
opencv_hal300d.lib
libjpegd.lib
zlibd.lib
文件名带d的都是debug版本,如果build realease工程换一下lib的名字,输入不带d的所有lib文件。
5.添加测试代码:
#include "opencv2/opencv.hpp" using namespace cv; Mat img = imread("C:\\SC_Bottom_300dpi_01.bmp"); imshow("mypic", img); waitKey();
测试时发现,debug时如果声明了Mat对象,即使不调用,只是写在那里,什么都不做,关闭程序,就出现了内存泄漏,在网上找了半天方法,也有人遇到了类似的问题,最后发现将程序修改为"在静态图中使用MFC",就神奇的好了,暂时没时间看是什么问题,先这么处理吧
相关文章推荐
- MapReduce整体架构分析
- ICloudOperator 执行过程分析
- hadoop集群默认配置和常用配置
- Nginx对某个文件夹或整个站点进行登录认证的方法
- Linux常用的文件管理命令
- 架构师于小波:魅族实时消息推送架构
- OpenStack-RPC-server的构建(四)
- squid代理
- apache storm集群配置记录
- [转]C#三层架构登陆实例
- Linux-000-ubutun编译安装nginx
- 位图文件(BMP)格式以及Linux下C程序实现
- Linux进程及作业管理相关命令
- Linux常用命令总结(1)
- Linux-001-nginx index 中文乱码
- tomcat+路由器+oray
- SDN与OpenFlow技术简介
- 数值优化(Numerical Optimization)学习系列-目录
- Linux命令之 ps/top/htop/dstat命令的基本用法
- 国外和国内Hadoop的应用现状