opencv文档(opencv文档Python)

本篇文章给大家谈谈opencv文档,以及opencv文档Python对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

opencv读取pdf文件

不能读前搏取。opencv的软件只慧伏祥能读取文字类的文件文档,pdf文件是图片文档组合的,不能进行读取。opencv是一个基于Apache2.0许可(开源)发行的跨平台厅孝计算机视觉和机器学习软件库。

[img]

OpenCV 基础功能简介

OpenCV(开源计算机视觉库 http://opencv.org ) 是一个开源的BSD许可库,包含数百种计算机视觉算法。由于功能强大,几乎所有用到的复杂的图片分析处理都会用到,所以有必要了解下它具体都有什么功能,方便我们使用。

官方文档: OpenCV 教程 — OpenCV 2.3.2 documentation

Core functionality :基础数据模块,包含一些发杂数据结构和基本函数方法,主要包含如下的内容:

OpenCV基本数据结构(Basic Structures);

基本的C语言数据结构和操作(Basic C Structures and Operations);

动态数据结构(Dynamic Structures);

数组操作相关函数(Operations on Arrays);

绘图功能(Drawing Functions);

XML和YAML语法的支持(XML/YAML Persistence);

XML和YAML语法的支持的C语言接口(XML/YAML Persistence (C API));

聚类(Clustering)橡氏升;

辅助功能与系统函数和宏(Utility and System Functions and Macros);

与OpenGL的互操作(OpenGL interoperability);

Image processing :图梁老像处核余理模块,包括线性和非线性图像滤波,几何图像变换(调整大小,仿射和透视扭曲,基于通用表的重新映射),颜色空间转换,直方图等。imgproc,是Image Processing的简写。图像处理模块,主要包含以下内容:

线性和非线性的图像滤波(Image Filtering);

图像的几何变换(Geometric Image Transformations);

图像的其他变换(Miscellaneous Image Transformations);

直方图(Histograms);

结构分析和形状描述(Structural Analysis and Shape Descriptors);

运动分析和目标跟踪(Motion Analysis and Object Tracking);

特征检测(Feature Detection);

目标检测(Object Detection);

是High-level GUI and Media I/O的简写。高层用户界面模块和媒体输入/输出模块,主要包含以下内容:

用户界面(User Interface);

图片和视频的读写(Reading and Writing Images and Video);

QT新功能(Qt New Functions);

2D Features Framework的简写。二维特征框架模块,主要包含以下内容:

人脸识别

VR和AR

特征的检测和描述(Feature Detection and Description);

特征检测器的通用接口(Common Interfaces of Feature Detectors);

描述符提取器的通用接口(Common Interfaces of Descriptor Extractors);

描述符匹配器的通用接口(Common Interfaces of Descriptor Matchers);

通用描述符匹配器通用接口(Common Interfaces of Generic Descriptor Matchers);

关键点和匹配结果的绘制功能(Drawing Function of Keypoints and Matches);

目标分类(Object Categorization);

Clustering and Search in Multi-Dimensional Spaces,多维空间聚类和搜索模块,主要包含以下内容:

快速近视最近邻搜索(Fast Approximate Nearest Neighbor Search);

聚类(Clustering);

是Video Analysis的简写。视频分析模块,主要包含以下内容:

运动分析和目标跟踪(Motion Analysis and Object Tracking),视频相关的,上面提到的是图片相关的;

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

机器学习库:统计模型、随机树、神经网络等等…

检测预定义类的对象和实例(例如,面部,眼睛,马克杯,人,汽车等)。

视频分析模块,包括运动估计,背景减法和对象跟踪算法。

图像修复和图像去噪两部分

opencv docs适用于

适用于快速下载技术文档。

opencv介绍OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和MacOS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、闹正MATLAB等语言的接口,实现了图像处理和计绝弯猛算机视觉方面的很多通用算法。

OpenCV用C++语言编写,它的主要接口并桥也是C++语言,但是依然保留了大量的C语言接口。

该库也有大量的Python、JavaandMATLAB/OCTAVE(版本2、5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#、Ch、Ruby,GO的支持。所有新的开发和算法都是用C++接口。

Opencv中数据结构Mat的相关属性

搬运自本人 CSDN 博客: 《Opencv中数据结构Mat的相关属性》

以上摘自OpenCV 2.4.9的官方文档opencv2refman.pdf。

以前虽然能够比较熟练的使用OpenCV,但是最近感觉其实笔者自己对OpenCV的最底层数据结构Mat与IplImage都不怎么熟悉…… 由于笔者比较反感总是需要管理内存的IplImage,所以对Mat数据结构做一下学习工作还是有必要的。

官方说明文档opencv2refman.pdf中,写出了Mat的定义如下:

下面笔者将从几个方面总结Mat数据结构的主要组成。

参考网址:

《OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解 》

《OpenCV Mat的常见属性》

《OpenCV学世拿早习笔记(四十)——再谈OpenCV数据结构Mat详解》

参考文档:

《opencv2refman.pdf》

如上面的Mat定义源码,Mat类中有很多重要的数据类型成员。

下面进行简单的列举。

把这四个数据成员放在一起,是因为这四个数据成员相互之间有关系。

数据的存储一直都是个值得关注的问题,所以数据元素存储的位数和范围就十分重要了。depth就体现了每一个像素的位数,即深度。

Mat中包含的图像深度如下所示:

另外还需要注意:大部分OpenCV的函数支持的数据深度只有8位和32位,所以尽量使用CV_64F。

channels表示了矩阵拥有的通道数量,这个比较容易理解:

type表示矩阵中元素的类型(depth)与矩阵的通道个数(channels),可以理解成上面的depth与channels的综合说明。type是一系列预定义的常量,命名规则如下:

codeCV_+位数+数据类型+通敏简道数/code

具体有如下值:

表格中,行代表了通道数量channels,列代表了图像深度depth。

例如CV_8UC3,可以拆分为:

注:type一般是在创建Mat对象时设定,若要去搜雀的Mat的元素类型,可以不使用type,使用depth。

elemSize表示了矩阵中每一个元素的数据大小,单位是字节。公式如下:

codeelemSize = channels * depth / 8/code

例如type == CV_16SC3,则elemSize = 3 * 16 / 8 = 6 Bytes。

elemSize1表示了矩阵元素的一个通道占用的数据大小,单位是字节。公式如下:

codeelemSize = depth / 8/code

例如type == CV_16SC3,则elemSize1 = 16 / 8 = 2 Bytes。

使用OpenCV处理图像时,最普遍的处理方式便是遍历图像,即访问所有的图像像素点。但有的算法还需要访问目标像素的邻域,所以这时候就需要了解访问Mat数据元素地址的方式。

假设有矩阵M,则数据元素的地址计算公式如下:

$$ addr(M_{i_{0}, i_{1}, ... i_{m-1}}) = M.data + M.step[0] * i_{0} + M.step[1] * i_{1} + ... + M.step[M.dims - 1] * i_{M_{dims-1}} $$

如果是二维数组,则上述公式就简化成:

$$ addr(M_{i,j}) = M.data + M.step[0] * i + M.step[1] * j $$

注:式中m = M.dims,即矩阵的维度。

假设存在一个二维矩阵如下图所示:

上面是一个3 × 4的矩阵。此时我们按照数据类型为CV_8U, CV_8UC3的情况,分别对其进行讨论。

首先假设其数据类型为CV_8U,也就是单通道的uchar类型,则可以得出上面的数据成员情况分别为:

若假设其数据类型为CV_8UC3,也就是三通道的uchar类型,则可以得出上面的数据成员情况分别为:

假设存在一个三维矩阵如下图所示:

上面是一个3 × 4 × 6的矩阵。假设其数据类型为CV_16SC4,此时对其进行讨论。

关于OpenCV地址访问方法及效率的部分,请见笔者的博文 《OpenCV像素点邻域遍历效率比较,以及访问像素点的几种方法 》 。

opencv 的文档可以在哪里下载?

这是穗数OpenVC官方中埋敏文网站,从入门到猜液首精通,各种例程文件和安装方法及下载等等...

关于opencv文档和opencv文档Python的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表