您的位置:首页 > 运维架构

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.添加测试代码:

#include "opencv2/opencv.hpp"
using namespace cv;
Mat img = imread("C:\\SC_Bottom_300dpi_01.bmp");
imshow("mypic", img);
waitKey();


测试时发现,debug时如果声明了Mat对象,即使不调用,只是写在那里,什么都不做,关闭程序,就出现了内存泄漏,在网上找了半天方法,也有人遇到了类似的问题,最后发现将程序修改为"在静态图中使用MFC",就神奇的好了,暂时没时间看是什么问题,先这么处理吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: