OpenCV2+入门系列(一):OpenCV2.4.9的安装与测试
这里假设看到这篇文章的人都已经对OpenCV以及机器视觉等最基础的概念有了一定的认识,因此本文不会对OpenCV做任何的介绍,而是直接介绍OpenCV2.4.9的安装与测试。此外本文只是简单的介绍如何配置OpenCV,目的是在最短的时间里将开发环境配置出来。至于详细的配置思路,网上实在太多,百度一下类似:VS2012+openCV2.4.9就能找到你想要的结果。
一、环境篇
首先简单的介绍一下使用的开发环境,本文将在Windows8.1平台下使用VS2012开发C++程序,所使用的OpenCV版本为2.4.9。
从http://opencv.org/ 下载了2.4.9版本后,将其解压到合适的路径。此处本人将其解压到了E:\openCV\2.4.9中,解压后的文件结构应该是这样的。

二、开始配置
环境的配置分为几个方面
- 环境变量配置;
- VS中【包含目录】、【引用目录】、【库目录】的添加;
- VS中【连接器】->【输入】中附加依赖项。
那么接下来就开始配置开发环境,首先确定OpenCV的目录为E:\openCV\2.4.9(或者你自己设定的目录)。
2.1 环境变量配置
在计算机的【系统属性】->【环境变量】->【系统变量】中
将"E:\OpenCV\2.4.9\build\x86\vc11\bin"添加至末尾,如果你的解压路径与我不同,请参考着修改,如图所示。

2.2 【包含目录】、【引用目录】、【库目录】的添加
打开VS2012,任意创建一个C++工程。在项目的【属性管理器】中,找到"MicroSoft.Cpp.Win32.user",右击其选择属性(这里有Debug和Release两个目录中都有"MicroSoft.Cpp.Win32.user",记得都要添加)。如果找不到【属性管理器】,在【视图】->【其他窗口】->【属性管理器】中打开。


在打开的属性页中,找到【VC++目录】,在其中的【包含目录】和【库目录】中添加以下路径,如图所示(记得Debug和Release都要添加这些路径):
包含目录:
E:\OpenCV\2.4.9\build\include;
E:\OpenCV\2.4.9\build\include\opencv;
E:\OpenCV\2.4.9\build\include\opencv2;
库目录:
E:\OpenCV\2.4.9\build\x86\vc11\lib;

2.3 依赖项的添加
同样是在MicroSoft.Cpp.Win32.user属性页中,找到【链接器】->【输入】。在【输入】中的【附加依赖项】中,添加以下代码:
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
如图所示:

如此就完成了开发环境的配置。
三、测试程序
新建一个C++ Win32控制台程序,输入以下代码,运行,可得结果。
#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
#include <opencv2/core/core.hpp>
#include <iostream>
using namespace std;
using namespace cv; int _tmain(int argc, _TCHAR* argv[])
{
Mat img = imread("D:\\testImg\\boldt.jpg");
cv::namedWindow("win1");
moveWindow("win1",,);
cv::imshow("win1",img);
waitKey();
}

四、【丢失MSVCP110.DLL】
运行程序后可能提示【丢失MSVCP110.DLL】的错误,这个问题只需安装各个版的vcredist即可(因为忘记具体是哪一个版本了,所以这里说各个版本,可能是2012版的)。
OpenCV2+入门系列(一):OpenCV2.4.9的安装与测试的更多相关文章
- Jenkins入门系列之——02第二章 Jenkins安装与配置
2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...
- k8s入门系列之扩展组件(一)DNS安装篇
DNS (domain name system),提供域名解析服务,解决了难于记忆的IP地址问题,以更人性可读可记忆可标识的方式映射对应IP地址. Cluster DNS扩展插件用于支持k8s集群系统 ...
- Linux入门系列1--环境准备及Linux安装
"工欲善其事.必先利其器",本文作为"Linux零基础入门系列"开篇,将完整演示整个开发环境的安装和配置过程,为后续的开发和实验做好基础准备.如果您已安装好环境 ...
- OpenCV2+入门系列(四):计算图像的直方图,平均灰度,灰度方差
本篇懒得排版,直接在网页html编辑器编辑 在图像处理时,我们常常需要求出图像的直方图.灰度平均值.灰度的方差,这里给出一个opencv2+自带程序,实现这些功能. 直方图 对于直方图,使用cv::c ...
- OpenCV2+入门系列(三):遍历图像的几种方法
根据OpenCV中Mat类型的结构和内存中存储方式,此处给出三种对图像进行遍历的方法.首先给出基础的读取图片代码,在中间替换三种遍历方法即可,本文中,程序将遍历图像并将所有像素点置为255,所有运行结 ...
- OpenCV2+入门系列(二):图像的打开、创建与显示(命令行)
前置知识:数字图像的简略知识 这里只是最基础的知识,上课如果稍微听了课的同学可以直接略过不不看. 彩色图像: 对于一副数字图像,对于一副RGB色彩空间的彩色数字图像,它一共有宽X高个像素格子,每个格子 ...
- k8s入门系列之扩展组件(二)kube-ui安装篇
kube-ui是k8s提供的web管理界面,可以展示节点的内存.CPU.磁盘.Pod.RC.SVC等信息. 1.编辑kube-dashboard-rc.yml定义文件[root@master kube ...
- 【ML入门系列】(一)训练集、测试集和验证集
训练集.验证集和测试集这三个名词在机器学习领域极其常见,但很多人并不是特别清楚,尤其是后两个经常被人混用. 在有监督(supervise)的机器学习中,数据集常被分成2~3个,即:训练集(train ...
- 【docker 入门 - 01】- Docker 在 Centos7 上安装与测试
一.学习文档 官网网站: https://www.docker.com 中文网站:http://www.docker-cn.com 官方安装文档:https://docs.docker.com/ins ...
随机推荐
- Memcached,你懂的
一.Memcached简介 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网 ...
- Java里能用session吗?
1.Session是服务器端存储的,Js里不能使用. 2.一般Session的实现需要依赖客户端的Cookie来储存一个SessionId,客户端每次请求服务器都会带上这个Cookie,这样服务器端就 ...
- 阿里云推荐码 hut29f
阿里云 推荐码 hut29f,适用于新手首次购买.
- zw.delphi不同版本程序运行速度测试
{ zw.delphi不同版本程序运行速度测试 delphi无论是开发,编译,还是运行,速度方面向来不差,笔者很少进行这种微粒度的优化,调试. 最近,因为项目需要,发现:同一个函数模块,差不多同样的代 ...
- c# 动态调用.net编写的webservices接口
创建类WebServiceHelper: public class WebServiceHelper { #region 动态调用WebService动态调用地址 /// < summary&g ...
- [转] 将DOS格式文本文件转换成UNIX格式
点击此处阅读原文 用途说明 dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter).DOS下的文本文 ...
- Time crumbles things; everything grows old under the power of Time and is forgotten through the lapse of Time
Time crumbles things; everything grows old under the power of Time and is forgotten through the laps ...
- phpcms v9联动菜单的调用方法及get_linkage函数简单过程
{get_linkage($r['areaid'],1,' >> ',1)} 复制代码 当然这个 $r 也不是绝对的.要看你的loop 是如何写的. {loop $data $n $r} ...
- C语言 结构体指针赋值 incompatible types when assigning to type 'char[20]' from type 'char *'
strcpy(pstudent->name, "guo zhao wei "); 为什么错误,该怎么写,(红色行) 追问 为什么不能直接赋值啊, 追答 用char n ...
- three.js初涉略(一)
<!-- 最近要研究一下webgl,发现了webgl中文网(http://www.hewebgl.com/article/articledir/1).边研究教程边做下记录 --> thre ...