本篇文章目的将为你详细罗列 Python OpenCV 的学习路线与重要知识点。核心分成 24 个小节点,全部掌握,OpenCV 入门阶段就顺利通过了。
01
OpenCV 初识与安装
本部分要了解 OpenCV (Open Source Computer Vision Library)的相关简介,OpenCv 可以运行在多平台之上,轻量级而且高效,由一系列 C 函数和少量 C++类构成,提供了 Python、Ruby、MATLAB 等语言的接口,所以在学习的时候,要注意查阅资料的语言实现相关问题。
这个阶段除了安装 OpenCV 相关库以外,建议收藏官方网址,官方手册,官方入门教程,这些都是最佳的学习资料。
模块安装完毕,需要重点测试 OpenCV 是否安装成功,可通过 Python 查询安装版本。
02
OpenCV 模块简介
先从全局上掌握 OpenCV 都由哪些模块组成。例如下面这些模块,你需要找到下述模块的应用场景与简介。
core、imgproc、highgui、calib3d、features2d、contrib、flann、gpu、legacy、ml、objdetect、photo、stitching。
整理每个模块的核心功能,并完成第一个 OpenCV 案例,读取显示图片。
03
OpenCV 图像读取,显示,保存
安装 OpenCV 之后,从图像获取开始进行学习,包含本地加载图片,相机获取图片,视频获取,创建图像等内容。
只有先获取图像之后,才能对图像进行操作处理,信息提取,结果输出,图像显示,图像保存。
对于一个图像而言,在 OpenCV 中进行读取展示的步骤如下,你可以将其代码进行对应。
- 图像读取;
- 窗口创建;
- 图像显示;
- 图像保存;
- 资源释放。
涉及需要学习的函数有 cv2.imread()、cv2.namedWindow()、cv2.imshow()、cv2.imwrite()、cv2.destroyWindow()、cv2.destroyAllWindows()、 cv2.imshow()、cv2.cvtColor()、cv2.imwrite()、cv2.waitKey()。
04
摄像头和视频读取,保存
第一个要重点学习 VideoCapture 类,该类常用的方法有:
- open() 函数;
- isOpened() 函数;
- release() 函数;
- grab() 函数;
- retrieve() 函数;
- get() 函数;
- set() 函数;
除了读取视频外,还需要掌握 Opencv 提供的 VideoWriter 类,用于保存视频文件。
学习完相关知识之后,可以进行这样一个实验,将一个视频逐帧保存为图片。
05
OpenCV 常用数据结构和颜色空间
这部分要掌握的类有 Point 类、Rect 类、Size 类、Scalar 类,除此之外,在 Python 中用 numpy 对图像进行操作,所以 numpy 相关的知识点,建议提前学习,效果更佳。
OpenCV 中常用的颜色空间有 BGR 颜色空间、HSV/HLS 颜色空间、Lab 颜色空间,这些都需要了解,优先掌握 BGR 颜色空间。
06
OpenCV 常用绘图函数
掌握如下函数的用法,即可熟练的在 Opencv 中绘制图形。
- cv2.line();
- cv2.circle();
- cv2.rectangle();
- cv2.ellipse();
- cv2.fillPoly();
- cv2.polylines();
- cv2.putText()。
07
OpenCV 界面事件操作之鼠标与滑动条
第一个要掌握的函数是鼠标操作消息回调函数,cv2.setMouseCallback() ,滑动条涉及两个函数,分别是:cv2.createTrackbar() 和 cv2.getTrackbarPos()。
掌握上述内容之后,可以实现两个案例,其一为鼠标在一张图片上拖动框选区域进行截图,其二是通过滑动条让视频倍速播放。
08
图像像素、通道分离与合并
了解图像像素矩阵,熟悉图片的像素构成,可以访问指定像素的像素值,并对其进行修改。
通道分离函数 cv2.split(),通道合并函数 cv2.merge()。
09
图像逻辑运算
掌握图像之间的计算,涉及函数如下:
- cv2.add();
- cv2.addWeighted();
- cv2.subtract();
- cv2.absdiff();
- cv2.bitwise_and();
- cv2.bitwise_not();
- cv2.bitwise_xor()。
还可以研究图像乘除法。
-
matlab
+关注
关注
182文章
2963浏览量
230149 -
C++
+关注
关注
22文章
2104浏览量
73487 -
OpenCV
+关注
关注
30文章
628浏览量
41259
发布评论请先 登录
相关推荐
评论