OpenCV学习(3) OpenCV框架

      OpenCV是一个开源的视觉库,其中包括很多计算机视觉的算法实现。在版本2.2以后,OpenCV采用C++特征的API,在1.x版本中,OpenCV函数都是传统的C语言形式。

      OpenCV采用模块化的结构,每个模块都是由一些动态和静态库组成,该模块会实现一些特定的计算机视觉算法。要使用某个特定的库,我们必须在程序中先包含该库的头文件,并把该库的lib作为链接库。

例如要使用core和highgui库,则必须在程序源文件中包含:

#include <opencv2/core/core.hpp>

#include <opencv2/highgui/highgui.hpp

而且要把opencv_core246d.lib,opencv_highgui246d.lib作为链接库:

OpenCV 2.4主要包括以下的库:

      core库主要包括一些基本的数据结构和函数,比如cv::Mat,以及cv::Mat的操作等等,这些数据结构和函数在其它模块中被调用。

      Imgproc是图像处理库,图像的处理算法都包含在这个库里面,比如各种滤波操作,图像的平移、缩放操作,颜色空间转化,直方图等等。

Video库,主要包括运动估计,背景减法以及物体跟踪等等。

Calib3d,主要是用于摄像机标定,双目视觉以及3D重构等算法。

Features2D, 主要用于特征检测。

Highgui主要用于视频捕捉,解码以及一些简单的UI实现。

其它的一些库,我们在用到的时候再做介绍,具体可以参考opencv文档:http://docs.opencv.org/index.html

时间: 2024-09-20 17:33:01

OpenCV学习(3) OpenCV框架的相关文章

OpenCV学习(22) opencv中使用kmeans算法

kmeans算法的原理参考:http://www.cnblogs.com/mikewolf2002/p/3368118.html 下面学习一下opencv中kmeans函数的使用.      首先我们通过OpenCV中的随机数产生器RNG,生成一些均匀分布的随机点,这些点的位置对应一副图像中的像素位置,然后使用kmeans算法对这些随机点进行分类,并计算出分类簇的中心点.      随机产生的簇的数量是2到5之间的值,采样点的数量范围是1-1000,一维矩阵centers存放kmeans算法结束

OpenCV学习(39) OpenCV中的LBP图像

本章我们学习LBP图像的原理和使用,因为接下来教程我们要使用LBP图像的直方图来进行脸部识别. 参考资料: http://docs.opencv.org/modules/contrib/doc/facerec/facerec_tutorial.html http://www.cnblogs.com/mikewolf2002/p/3438166.html       LBP的基本思想是以图像中某个像素为中心,对相邻像素进行阈值比较.如果中心像素的亮度大于等于它的相邻像素,把相邻像素标记为1,否则标

OpenCV学习(2) OpenCV的配置

      下面我们在VS2010中编写一个简单的OpenCV程序,来看看如何在程序中使用OpenCV. 创建一个新的Win32 控制台程序,附加选项为空工程(empty project),并添加一个cpp源文件main.cpp,内容如下: #include <opencv2/core/core.hpp> #include <opencv2/highgui//highgui.hpp> int main() { cv::Mat img = cv::imread("lenna

OpenCV学习(35) OpenCV中的PCA算法

PCA算法的基本原理可以参考:http://www.cnblogs.com/mikewolf2002/p/3429711.html     对一副宽p.高q的二维灰度图,要完整表示该图像,需要m = p*q维的向量空间,比如100*100的灰度图像,它的向量空间为100*100=10000.下图是一个3*3的灰度图和表示它的向量表示: 该向量为行向量,共9维,用变量表示就是[v0, v1, v2, v3, v4, v5, v6, v7, v8],其中v0...v8,的范围都是0-255.    

OpenCV学习(1) OpenCV的安装

1. 下载文件 下载最新的OpenCV windows版本: 链接:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/       我下载的版本是2.46,下载后得到OpenCV-2.4.6.0.exe,自解压该文件到目录D:\opencv2.31\opencv2.46.自解压之后,会生成一个opencv的子目录,所有的opencv文件都在这个目录中. 2.编译文件 我使用CMake2.8来编译OpenCV:      

指针-opencv学习灰度图锐化的两个函数的差别不理解

问题描述 opencv学习灰度图锐化的两个函数的差别不理解 下面是一个灰度图锐化的函数,我有两种方式实现,方式1,和方式2,居然得到的结果不一样,图片数据也不一样,请高手看一下,可能是C语言的知识掌握的不好. void my_sharpen(const cv::Mat &image, cv::Mat &result) { result.create (image.size(), image.type ()); for(int j=1; j<image.rows-1; j++) { u

(转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU

      首页 视界智尚 算法技术 每日技术 来打我呀 注册     OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址:http://blog.csdn.net/column/details/opencv-manual.html 2:部分OpenCV的函数解读和原理解读 作者:梦想腾飞数量:20篇博文网址:http:/

OpenCV学习(9) 分水岭算法(3)

本教程我学习一下opencv中分水岭算法的具体实现方式. 原始图像和Mark图像,它们的大小都是32*32,分水岭算法的结果是得到两个连通域的轮廓图. 原始图像:(原始图像必须是3通道图像) Mark图像: 结果图像:       初始的mark图像数据如下,黄色的部分为我们的第一个mark区域,值为255,第二个区域为褐红色的区域,值为128,第三个绿色的区域,值为64.   opencv分水岭算法描述如下: 初始化mark矩阵,生成最初的注水区域. 1.设置mark图像的边框值为-1 2.

OpenCV学习(一):入门介绍

1.软件下载 OpenCV下载地址:http://opencv.org/downloads.html或者http://sourceforge.net/projects/opencvlibrary/,根据需要下载,有windows/linux/mac/ios等版本的. 因为OpenCV在windows的基本平台大多是Viusal studio,因此还要下载VS,下面介绍如何配置vs下的opencv. 我采用的平台是VS2010和Opencv2.4.10. 2.准备工作 下载后双击opencv,解码