opencv是开发计算机视觉的工具,计算机图像处理、计算机视觉,好的算法是利用人眼模型,来使得程序跑出和人眼识别相似的结果,比如CNN(卷积神经网络),必须要精通数学,才能完成甚至是设计出好的算法来模式这一过程。
首先是下载opencv,这个要去官网,https://opencv.org/releases.html,这个地址是官网上opencv最近以及历史版本的下载列表,每一个opencv分为windows\unix(linux)\IOS\android四种,用windows来举例,最新的opencv3.4支持vs2015及以上版本,本文示例的opencv3.0.0是适用于vs2012、2013开发,X64文件中写着vc11(2012)和vc12(2013),一开始下载了opencv3.1.0然后发现只支持v12和v13所以,适用不了vs2012只好又下载了一个3.0.0的opencv,总比下一个vs2013好= =
下载完成后按照提示安装,然后在计算机上完成系统或者用户环境变量配置,就是在path路径那边把opencv里的build文件夹路径加进去
然后就是打开vs建立一个项目开始配置。
一般是用c++来建opencv的项目,因为计算效率和算法实现上来讲,呵呵,你懂的,c\c++真不是针对谁
建立好如上图的项目(我这个是win32)之后,打开项目的属性界面,右下角就有属性管理器,如果没有就去视图---其他窗口-----属性管理器里找。
在属性管理器界面又两个文件夹,一个是Debug|win32一个是Release|win32,在里面分别建立一个属性表文件,名字随便
例如我的就是debug_PropertuSheet,然后右键,打开属性界面,注意,这里总共有三个地方如果添加目录或者引用文件,第一个是VC++目录,分别在“包含目录”和“库目录”添加,然后是在连接器----输入------附加依赖项进行添加,总共三处,不要漏了
包含目录:
D:\openCV\opencv\build\include\opencv2
D:\openCV\opencv\build\include\opencv
D:\openCV\opencv\build\include
库目录:
D:\openCV\opencv\build\x64\vc11\staticlib
附加依赖项:
opencv_ts300d.lib
opencv_world300d.lib
IlmImfd.lib
libjasperd.lib
libjpegd.lib
libpngd.lib
libtiffd.lib
libwebpd.lib
opencv_calib3d300d.lib
opencv_core300d.lib
opencv_features2d300d.lib
opencv_flann300d.lib
opencv_highgui300d.lib
opencv_imgcodecs300d.lib
opencv_imgproc300d.lib
opencv_ml300d.lib
opencv_objdetect300d.lib
opencv_photo300d.lib
opencv_shape300d.lib
opencv_stitching300d.lib
opencv_superres300d.lib
opencv_video300d.lib
opencv_videoio300d.lib
opencv_videostab300d.lib
zlibd.lib
opencv_hal300d.lib
添加完着三个地方之后,还有Release属性文件价里那个文件,一样的添加,然后附加依赖项那边做一点改动,添加的lib文件换成:
opencv_ts300.lib
opencv_world300.lib
IlmImf.lib
ippicvmt.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
libwebp.lib
opencv_calib3d300.lib
opencv_core300.lib
opencv_features2d300.lib
opencv_flann300.lib
opencv_highgui300.lib
opencv_imgcodecs300.lib
opencv_imgproc300.lib
opencv_ml300.lib
opencv_objdetect300.lib
opencv_photo300.lib
opencv_shape300.lib
opencv_stitching300.lib
opencv_superres300.lib
opencv_video300.lib
opencv_videoio300.lib
opencv_videostab300.lib
zlib.lib
opencv_hal300.lib
然后就算是配置完了,我们来写一个小程序实验一下:
#include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
// 读入一张图片(游戏原画)
Mat img = imread("timg.jpg");
// 创建一个名为 "游戏原画"窗口
namedWindow("u=2113097850,2944534414&fm=27&gp=0.jpg");
// 在窗口中显示游戏原画
imshow("u=2113097850,2944534414&fm=27&gp=0.jpg", img);
// 等待6000 ms后窗口自动关闭
waitKey(6000);
return 0;
}
图片记得复制到cpp文件的根目录下,效果如图:
进行到这里可能一般会报个错误,第一个错误,可能是编译环境的错误,就是X64和X86的
错误,这个问题一般只需要改一下目标编译或者改一下项目属性平台就行
右键项目,然后在平台选择X64,如果没有X64只有win32就配置管理器,然后自己加一个X64
然后在Debug和Release里面的文件,右键,在连接器------高级,里面的目标计算机,把X86改成X64就OK啦
我本人在第一次运行的时候还遇到一个
丢失 opencv_world300d.dll的问题
然后就可以运行啦,应该没什么问题了,网上还比较容易遇到一种情况就是指针溢出,地址出错,这个情况那些dalao写的看起来挺复杂,其实就是你图片位置没有放对,你好好放到根目录下面P事儿没有 = =
第一次配置opencv就写这么多了,小白一个,如果有不对的地方欢迎指正,共同进步。