表格做网站,抚州公司做网站,开发手游,商场vi设计 知名公司文章目录1 引入1.1 OpenCV是啥1.2 OpenCV——Python1 引入
1.1 OpenCV是啥
OpenCV是一个基于Apache2.0许可#xff08;开源#xff09;发行的跨平台计算机视觉计算机视觉和机器学习软件库#xff0c;可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高…
文章目录1 引入1.1 OpenCV是啥1.2 OpenCV——Python1 引入
1.1 OpenCV是啥
OpenCV是一个基于Apache2.0许可开源发行的跨平台计算机视觉计算机视觉和机器学习软件库可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C 类构成同时提供了Python、Ruby、MATLAB等语言的接口实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C语言编写它具有C PythonJava和MATLAB接口并支持WindowsLinuxAndroid和Mac OSOpenCV主要倾向于实时视觉应用并在可用时利用MMX和SSE指令 如今也提供对于C#、Ch、RubyGO的支持。
1.2 OpenCV——Python
OpenCV—python是一个python绑定库旨在解决计算机视觉问题。
OpenCV-Python使用Numpy这是一个高度优化的数据库操作库具有MATLAB风格的语法所有OpenCV数组结构都转换为Numpy数组这也使得与使用Numpy的其他库集成更容易。
openCV-Python的部署十分简单但需要在有Numpy和matplotlib的前提下才能进行安装。我们可以打开cmd或者anaconda prompt的shell命令窗口输入以下 pip install opencv-python3.4.2.17 -i https://pypi.tuna.tsinghua.edu.cn/simple 即可完成安装。如果想要测试是否安装成功则试着运行以下的代码。
import cv2
#读一个图片
lena cv2.inread(1.jpg)
cv2.imshow(image,lena)
cv2.waitKey(0)OpenCV-python主要的模块如下所示在后面的学习中我直接称OpenCV-python为OpenCV了。 其中core、highgui、imgproc是最基础的模块。
core模块实现了最核心的数据结构及其基本运算如绘图函数数组操作相关函数等highgui模块实现了视频与图像的读取、显示、存储等接口imgproc模块实现了图像处理的基础方法包括图像滤波、图像的几何变化、平滑、阈值分割、形态学处理、边缘检测、目标检测、运动分析和对象跟踪等
除了上述的三个最基本的模块还有其他的一些模块也是用于图像处理。
features2d模块用于提取图像特征以及特征匹配nonfree模块实现了一些专利算法如sift特征。objdetect模块实现了一些目标检测的功能经典的基于Haar、LBP特征的人脸检测基于HOG的行人、汽车等目标检测分类器使用Cascade Classification级联分类和Latent SVM等。stitching模块实现了图像拼接功能。FLANN模块包含快速近似最近邻搜索FLANN和聚类Clustering算法。ml模块机器学习模块SVM、决策树、Boosing等等photo模块包含图像修复和图像去噪两部分video模块针对视频处理如背景分离、前景检测、对象跟踪等。calib3d模块即Calibration3D这个模块主要是相机校准和三维重叠相关的内容。包含了基本的多视角几何算法单个立体摄像头标定物体姿态估计立体相似性算法3D信息的重建等待。G-API模块包含了超高效的图像处理pipeline引擎。