什么是OpenCV
OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令, 如今也提供对于C#、Ch、Ruby,GO的支持。
OpenCV应用
- 计算机视觉领域方向
- 人机互动
- 物体识别
- 图像分割
- 人脸识别
- 动作识别
- 运动跟踪
- 机器人
- 运动分析
- 机器视觉
- 结构分析
- 汽车安全驾驶
OpenCV技术
- 图像数据的操作: 分配、释放、复制、设置和转换。 图像是视频的输入输出I/O ,文件与摄像头的输入、图像和视频文件输出)。
- 矩阵和向量的操作以及线性代数的算法程序:矩阵积、解方程、特征值以及奇异值等。
- 各种动态数据结构:列表、队列、集合、树、图等。
- 基本的数字图像处理:滤波、边缘检测、角点检测、采样与差值、色彩转换、形态操作、直方图、图像金字塔等。
- 结构分析:连接部件、轮廓处理、距离变换、各自距计算、模板匹配、Hough变换、多边形逼近、直线拟合、椭圆拟合、Delaunay 三角划分等。
- 摄像头定标:发现与跟踪定标模式、定标、基本矩阵估计、齐次矩阵估计、立体对应。
- 运动分析:光流、运动分割、跟踪。
- 目标识别:特征法、隐马尔可夫模型:HMM。
- 基本的GUI:图像与视频显示、键盘和鼠标事件处理、滚动条。
- 图像标注:线、二次曲线、多边形、画文字。
OpenCV 安装
pip install opencv-pyhton # 官方源安装慢可以使用其他源
pip install opencv-python -i https://pypi.douban.com/simple/
OpenCV 使用
读图并显示
# _*_ coding:utf-8 _*_
import os
import cv2 as cv
path = os.path.dirname(os.path.abspath(__file__))
image = cv.imread(path + "//test.jpg") # 读入当前文件夹下的test.jpg 图片
cv.imshow('image', image) # 显示图片
cv.waitKey(0)
cv.destroyAllWindows()