2 OpenCV

OpenCV优势

1 编程语言

OpenCV基于C++实现,同时提供Python、Ruby、MATLAB等语言接口。OpenCV-Python是OpenCV的Python API,结合了OpenCV C++API和Python语言的最佳特性

2 跨平台
可以在不同平台使用,包括Windows、Linux、OS X、Android 和IOS。

3 丰富的API
完善的传统计算机视觉算法,涵盖主流的机器学习算法,同时添加了对深度学习的支持。

2 OpenCV-Python

是一个Python的绑定库,解决计算机视觉问题

Python可以使用C/C++轻松扩展,这使我们可以在C/C++中编写计算密集型代码,并创建可用做Python模块的Python包装器。首先,这样代码就可以渝原始C/C++一样快,其次,在Python中编写代码比使用C/C++更容易。OpenCV-Python是原始OpenCV C++实现的Python包装器。

OpenCV-Python使用Numpy,这是一个高度优化的数据库操作库,具有MATLAB风格语法,所有OpenCV数组结构都转换为Numpy数组。这也使得与使用Numpy的其他库集成更容易

3 OpenCV部署方法

安装OpenCV之前需要先安装numpy、matplotlib
pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
安装OpenCV-Python,一些经典算法被申请了版权,所有选中3.4.3以下的版本
pip install opencv-python==3.4.2.17

4 OpenCV模块

core:实现了最核心的数据结构及其基本运算,如绘图函数、数组操作相关函数等
highgui模块:实现视频与图像读取、显示、存储等接口
imgproc:实现图像处理的基础方法,包括图像滤波、图像几何变换、平滑、阈值分割、形态学处理、边缘检测、目标检测、运动分析和对象跟踪等。
对于图像处理其他跟高层次的方向及应用,OpenCV也有相关的模块实现
feature2d模块用于提取图像特征以及特征匹配,nonfree模块实现了一些专利算法,如sift特征。
objdetect模块实现了一些目标检测的功能,经典基于Haar、LBP特征的人脸检测,基于HOG的行人、汽车等目标检测,分类器使用Cascade Classification(级联分类)和Latent SVM等。
stitching:实现图像拼接功能
flann模块:包含快速近似最近邻搜索FLANN和聚类Clustering算法。
ml模块:机器学习模块
photo:包含图像修复和图像去噪两部分
video:针对视频处理,如背景分离、前景检测、对象跟踪等
calib3d模块:calibration 3D,这个模块主要是相机校准和三维重建相关的内容。包含了基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性算法,3D信息的重建等等。
G-API模块:超高校的图像处理pipeline引擎

上一篇:OpenCV rowRange()函数使用


下一篇:opencv-cvRound返回整数值-四舍五入