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 ...
随机推荐
- SVN File Name Case Sensitivity--SVN大小写问题
from:http://www.visualsvn.com/support/topic/00019/ Windows has a case-insensitive file system. Unix ...
- mockjs模拟前后端交互
mockjs是用于mock数据(造假数据)的组件. mockjs官网链接为:http://mockjs.com/:mockjs官网有mockjs的源代码.API以及示例. mockjs拦截ajax请求 ...
- jq弹框确认
function delCustomer(id,num){ var r=confirm("友情提醒:确认要删除客户吗?"); if (r==true){ $.ajax({ type ...
- GPS部标平台的架构设计(十)-基于Asp.NET MVC构建GPS部标平台
在当前很多的GPS平台当中,有很多是基于asp.NET+siverlight开发的遗留项目,代码混乱而又难以维护,各种耦合和关联,要命的是界面也没见到比Javascript做的控件有多好看,随着需求的 ...
- Jquery操作select,左右移动,双击移动 取到所有option的值
$(function () { function MoveItem(fromId, toId) { $("#" + fromId + " option:selected& ...
- Leetcode: Sentence Screen Fitting
Given a rows x cols screen and a sentence represented by a list of words, find how many times the gi ...
- oracle同一个数据库实例不同的用户之间的表、序列授权操作
1.背景:用户jtuser中有jtproduct中表A,B的同义词,在用户jtuser中向表A,B插入数据,提示“权限不够” 2.将A,B表授权给jtuser用户 $ sqlplus / as sys ...
- 夺命雷公狗-----React---19--表单的值的修改
少了1个e,在代码部分补回,否则会报错 <!DOCTYPE> <html> <head> <meta charset="utf-8"> ...
- Windows服务安装与卸载
Windows服务安装与卸载,使用到了InstallUtil.exe 安装: c: cd "C:\Windows\Microsoft.NET\Framework\v4.0.30319&quo ...
- WCF入门-项目间调用服务
练习WCF入库,添加了一个WCF项目,同时添加了一个控制台程序,在控制台程序启动时,调用WCF服务,报错. 控制台程序代码为: namespace WcfConsumer { class Progra ...