(一)OpenCV安装与配置

news/2025/2/23 16:18:49

初学OpenCV不久,总觉得应该将自己之前的学习进行一个全面细致点的总结。OpenCV作为一个跨平台的计算机视觉库,现在有越来越多的人加入其中。好了,废话少说。工欲善其事,必先利其器。学习OpenCV之前,必须要安装配置OpenCV。我自己安装的版本是VS2013+OpenCV2.4.8(我就是喜欢追最新的。。O(∩_∩)O)

这是两个文件在的地址:
OpenCV2.4.8:http://pan.baidu.com/s/1qWE4UhI
VS2013略大,官网下载或者邮件我。

(1)VS2013的安装
将微软官网或者别的上面下载下来(安装源文件太大,没法在网上发,要的话可以邮件我,weiw_opt@163.com),点击vs_ultimate.exe进行安装,这个VS2013是个中文版的,安装时间略有点长。PS:安装完之后,请先用简单的C++程序检验下,比如

#include<iostream>
using namespace std;
int main()
{
    cout<<"hello,world!"<<endl;
    return 0;
}

因为只有VS2013得到了正确的安装,接下来的工作才是有效的。

(2)OpenCv的安装
将地址链接下的OpenCV下载下来,双击opencv2.4.8.exe,如下所示:
这里写图片描述

点击上图中的“Extract”,解压缩安装
这里写图片描述
最后如图,即为OpenCV2.4.8安装成功!
这里写图片描述
这个安装是不是So easy!

(3)系统的环境变量的配置
我的系统是WIN8.1,下面给出我的系统环境变量配置的示例,其他系统版本诸如此类配置方法。
右击“这台电脑”->“属性”->”高级系统设置”->“高级”->”环境变量”,在“系统变量”下找到“Path”,双击或者点击“编辑”,在后面加上“;D:\ProgramFiles\OpenCv\opencv\build\x86\vc12\bin”(这个是我的OpenCV安装路径,具体的以你的安装路径为准,找到“opencv\build\x86\vc12\bin”),另外请注意,”Path”->”编辑”那里注意,“;”要加,最后结尾就不用加分号了。最后,点击“确定”,重启计算机,系统环境变量配置成功。
这里写图片描述
这里写图片描述
这里写图片描述
(4)在VS2013上新建项目,然后设置依赖库和文件(这一部分非常重要哦~请细心点~)
a.打开VS2013,“文件”->”新建”->“项目”,“Visual C++”->”Win32控制台应用程序”-“确定”;”下一步”-勾选“空项目”-“完成”;
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

b.”视图”->”其他窗口”->”属性管理器”
这里写图片描述
接下来,在属性配置中,因为以后每次在VS2013中编写OpenCv程序中都要添加属性表才能编译成功,所以我在这里就索性建立一个属性表文件存储下来,这样每次就不用重复编辑这个属性配置,直接添加进来就可以了。
右击“Debug|WIN32”->”添加新属性表”
这里写图片描述

这里写图片描述

将属性表的名称命名为“opencv_debug”,如上图

这里写图片描述
“VC++目录”中找到“包含目录”和“库目录”,在“包含目录”中编辑“D:\Program Files\OpenCv\opencv\build\include”,在“库目录”中编辑“D:\Program Files\OpenCv\opencv\build\x86\vc12\lib”,具体的路径参照你的安装文件所在的文件目录。
这里写图片描述

这里写图片描述

c. 然后“链接器”->”输入”->“附加依赖项”,在其中编辑如下:
opencv_calib3d248d.lib
opencv_contrib248d.lib
opencv_core248d.lib
opencv_features2d248d.lib
opencv_flann248d.lib
opencv_gpu248d.lib
opencv_highgui248d.lib
opencv_imgproc248d.lib
opencv_legacy248d.lib
opencv_ml248d.lib
opencv_nonfree248d.lib
opencv_objdetect248d.lib
opencv_ocl248d.lib
opencv_photo248d.lib
opencv_stitching248d.lib
opencv_superres248d.lib
opencv_ts248d.lib
opencv_video248d.lib
opencv_videostab248d.lib
这里写图片描述
上面的编辑中,大家可以看到其中248后面带有d,这是在debug模式下配置的属性表。要想在Release模式下配置,步骤如上,只不过在附加依赖项那里修改下,添加不带“d”的lib即可。

(4)测试是否配置成功
以下是一个很简单的测试代码示例:

#include<iostream>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
    Mat a = imread("bird.jpg");
    imshow("bird", a);
    waitKey();
    return 0;
}

提醒一下,在运行上面这个测试程序的时候,要把之前的那个属性表添加进来(添加的方法:“视图”->”其他窗口”->”属性管理器”,右击“Debug|WIN32”->”添加现有属性表”),然后才可以运行,结果如下:
这里写图片描述
至此,恭喜你!你可以拿OpenCv愉快的玩耍了!


http://www.niftyadmin.cn/n/1801604.html

相关文章

OpenCV目标跟踪(一)-寻找角点

这两天在看OpenCV中的跟踪与运动这一块&#xff0c;跟踪和运动是一个很大的课题&#xff0c;里面的涉及的内容有很多&#xff0c;按着自己的学习进度上&#xff0c;简要的做个总结。 在我们处理一段视频而非某张静止的图片时&#xff0c;我们往往会去关注画面中的一个或者几个…

OpenCV目标跟踪(二)-LK光流法

这几天主要看了光流的有关内容&#xff0c;下面就关于光流的有关内容进行个简单的总结。 所谓的光流是一种运动模式&#xff0c;这种运动模式即是指一个物体、表面、边缘在一个视角下由一个观察者和背景之间形成的明显移动。在如下的图中给出了光流的直观解释。 这里的每个…

OpenCV目标跟踪(三)-camshift算法

这两天主要在学习目标跟踪的典型算法-camshift算法&#xff0c;在讨论和介绍camshift算法之前&#xff0c;我们先来讨论下meanshift算法。 &#xff08;1&#xff09;meanshift算法 meanshift算法是一种在一组数据的密度分布中寻找局部极值稳定的方法。具体的数学原理主要是基…

OpenCV目标跟踪(四)-运动模板

OpenCV中运动与跟踪这一章节中&#xff0c;在前面的介绍中&#xff0c;主要给出了LK光流法&#xff0c;以及基于概率统计&#xff0c;窗口搜索的meanshif算法以及meanshif算法的改进版-camshift算法&#xff0c;这两天主要在看运动模板的跟踪运动方法&#xff0c;下面就简要的介…

OpenCV目标跟踪(五)-kalman滤波器

在实际的运动跟踪中&#xff0c;由于环境因素或者别的原因总会有一些噪声的存在&#xff0c;这样的跟踪效果就会变差&#xff0c;人们想到尽可能多的去利用测量结果来估计运动。这样&#xff0c;任务就可以分为两个阶段&#xff1a;第一阶段&#xff0c;即预测阶段&#xff0c;…

运动目标跟踪算法简单总结(六)

把OpenCV上的光流法&#xff0c;meanshift和camshift算法等看完学习之后&#xff0c;突然间想去查查文献&#xff0c;看看现在关于目标跟踪的一些主流算法&#xff0c;下面就简单的总结下。 运动目标跟踪就是在一段视频序列图像中的每幅图像中实时的找到所感兴趣的运动目标。在…

OpenCV轮廓查找(一)

虽然Canny之类的边缘检测算法可以根据像素间的差异检测出轮廓边界的像素&#xff0c;但是它并没有将轮廓作为一个整体。下一步是要把这些边缘像素组装成轮廓。而对于这一步的实现&#xff0c;OpenCV自带了函数cvFindContours&#xff08;&#xff09;和cvDrawContours&#xff…

OpenCV轮廓特性(二)

在上一篇的博文中&#xff0c;我们主要给出了cvFindContours&#xff08;&#xff09;和cvDrawContours&#xff08;&#xff09;函数的基本用法&#xff0c;结合示例程序&#xff0c;分析了获得图像轮廓和画出显示轮廓的大致的程序思路。在获取轮廓之后&#xff0c;我们要重点…