Opencv学习笔记(模块介绍及运行程序)

一、什么是OpenCV?

        OpenCV(Open Source Computer Vision Library)是开源计算机视觉库,于1999年由Intel建立。它实现了图像处理和计算机视觉方面的很多通用算法,已经成为计算机视觉领域研究的一项重要工具。

        OpenCV由一系列的C函数和C++构成,轻量且高效,同时支持C#,Ch,Ruby等编程语言,又提供了对Python、Ruby、Matlab等语言的接口。

        OpenCV设计的目标是执行速度尽量快,主要关注实时应用。它采用优化的C/C++代码编写,能够充分利用多核处理器的优势,其主要的目标就是构建一个简单的计算机视觉框架,以帮助开发人员更便捷地设计复杂的计算机视觉相关的应用程序。

OpenCV官方主页:http://opencv.org

OpenCV Github主页: https://github.com/Itseez/opencv

OpenCV 开发版Wiki主页:http://code.opencv.org 

OpenCV 可用于解决以下领域的问题:

人机交互、物体检测、目标识别、人脸识别、图像分割、动作识别、运动跟踪、机器人等等。

二、OpenCV 基本架构分析

       进入...\opencv\build\include目录,可以看到有opencv和opencv2两个头文件,其中opencv文件夹包含的是旧的.h头文件,opencv2包含的是具有时代意义的新版OpenCV2系列头文件。

Opencv学习笔记(模块介绍及运行程序)_第1张图片

 

Opencv学习笔记(模块介绍及运行程序)_第2张图片

 

常用的opencv的模块

①    calib3d

calibration(校准)和3D的结合。这个模块主要是相机校准和三维重建相关的内容,包括基本的多视角几何算法、单个立体摄像头标定、物体姿态估计、立体相似性算法、3D信息的重建等。

②    contrib.

contributed/Experimentalstuf的缩写。该模块包含了一些最近添加的不太稳定的可选功能。新增了新型人脸识别、立体匹配、人工视网膜模型等。

③    core(核心功能模块)

包含Opencv基本数据结构、动态数据结构、绘图函数、数据操作相关函数、辅助功能和系统函数和宏、与OpenGL的互操作。

④imgproc

     Imagin和process的结合,图像处理模块。包含线性和非线性滤波、图像的几何变换、其他(Miscellaneous)图像变换、直方图相关、结构分析和形状描述、运动分析和对象跟踪、特征检测、目标检测等。

⑤featured2d

     2D功能框架,包含有:特征检测和描述、特征检测器(Featuredetectors)通用接口、描述符提取器(DescriptorExtractors)、描述符匹配器(DescriptorMatchers)、通用描述符(Generic Descriptor)匹配器接口、关键点绘制函数和匹配功能函数绘制函数。

⑥flann

    FastLibrary for Approximate Nearest Neighbors,高维的近似近邻快速搜索算法库。包含聚类和快速近似近邻搜索两部分。

⑦gpu

  运用GPU加速的计算机视觉模块。

⑧highgui

  高层GUI图形用户界面,包含媒体的输入输出、视频捕捉、图像和视频的编码解码、图形交互界面的接口内容等。

⑧stitching

图像拼接模块

⑨objdetect

目标检测模块

⑩nonfree

包含一些专利模块,如特征检测和GPU相关内容

三、配置OpenCV以及编写程序

①打开VS2013,点击文件--->新建--->项目

Opencv学习笔记(模块介绍及运行程序)_第3张图片

②点击Win32控制台应用程序后,修改工程名和路径

Opencv学习笔记(模块介绍及运行程序)_第4张图片

③单击下一步,勾选空项目后,点击完成

Opencv学习笔记(模块介绍及运行程序)_第5张图片

Opencv学习笔记(模块介绍及运行程序)_第6张图片

④点击源文件--->添加--->新建项,点击C++wenj

Opencv学习笔记(模块介绍及运行程序)_第7张图片

Opencv学习笔记(模块介绍及运行程序)_第8张图片

⑤点击项目--->属性,进入项目属性页

Opencv学习笔记(模块介绍及运行程序)_第9张图片

⑥点击VC++目录右边的包含目录,按照下图一次添加文件路径

Opencv学习笔记(模块介绍及运行程序)_第10张图片

确定后,点击库目录,添加如下路径

Opencv学习笔记(模块介绍及运行程序)_第11张图片

确定后,点击链接器的输入,添加附加依赖项

Opencv学习笔记(模块介绍及运行程序)_第12张图片

点击确定后,进入编辑界面编写程序。

⑦编写完程序后,点击生成--->生成解决方案--->调试--->启动调试

Opencv学习笔记(模块介绍及运行程序)_第13张图片

#include
using namespace cv;
int main()
{
	Mat picture = imread("D:\\vs2013\\img\\1.jpg");
	imshow("显示图像", picture);
	waitKey(0);
}

注:以上配置均是基于opencv3.0的,如若是其他版本的opencv,需要更改附加依赖项。

你可能感兴趣的:(OpenCV)