11年读研的时候开始接触opencv,一晃使用opencv都快10年了,从最初使用的2.3版本到现在已经4.4版本了,一直用,但却一直没有好好从头到尾仔细看看说明文档,亏我还是做图像识别的,汗颜呀~~~为了弥补一下这几年的遗漏,准备把opencv全面解读一下,好完备一下图像方面的知识点。
语言环境:linux, python-3.7.4, opencv-4.4.0
opencv与1999年出现,2000年发布第一版,2005年用于斯坦福车队计算机视觉模块并赢得了车队挑战赛,之后opencv就一直在不断壮大发展。到现在opencv的开发语言包括c++,python,java等,并且适用于windows,linux,os x,addroid,ios不同平台,并且支持基于cuda和opencl的高性能gpu操作。
自动安装:
pip install python-opencv
ubuntu:sudo apt-get install python-opencv
centos: sudo apt-get install python-opencv
源码安装:参考官网详细流程
https://docs.opencv.org/4.4.0/d2/de6/tutorial_py_setup_in_ubuntu.html
安装后可通过cv2查看版本号,以及是否可用:
主要模块:
Core functionality(core):基础数据结构定义,以及基础函数实现。
Image Processing(imgproc) :图像处理模块,包括常用的图像处理、图像变换、颜色空间变换等。
Video Analysis(video) :视频分析模块,包括运动估计、背景提取、目标追踪等算法。
Camera Calibration and 3D Reconstruction(calib3d) :摄像机标定与三维重建模块,包括多视角几何算法、摄像机标定算法、目标运动估计、三维重建等。
2D Features Framework(features2d) :特征点检测、描述与匹配算法。
Object Detection(objdetect) :目标检测模块,包括人脸、眼睛、行人、猫狗等预定义类别。
High-level GUI(highgui) :图形界面模块,用于图像、视频显示。
Video I/O(videoio) :视频录入、读取,以及视频编解码模块。
Machine Learning:机器学习模块,包括KNN、SVM、K-Means算法。
好了,今天主要简单介绍下opencv的基本内容,后期会对各个方向进行实例解读,感兴趣的可以关注微信公众号:桔子的算法之路