0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python OpenCV 的学习路线与重要知识点汇总 1

jf_78858299 来源:华为云 作者:梦想橡皮擦 2023-02-07 15:32 次阅读

本篇文章目的将为你详细罗列 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 中进行读取展示的步骤如下,你可以将其代码进行对应。

  1. 图像读取;
  2. 窗口创建;
  3. 图像显示;
  4. 图像保存;
  5. 资源释放。

涉及需要学习的函数有 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++
    C++
    +关注

    关注

    22

    文章

    2104

    浏览量

    73487
  • OpenCV
    +关注

    关注

    30

    文章

    628

    浏览量

    41259
收藏 人收藏

    评论

    相关推荐

    GDB的知识点汇总,绝对实用

    GDB的知识点汇总,绝对实用
    发表于 12-24 06:01

    JTAG调试的知识点汇总,绝对实用

    JTAG调试的知识点汇总,绝对实用
    发表于 12-24 06:09

    STM32定时器中断的知识点汇总,绝对实用

    STM32定时器中断的知识点汇总,绝对实用
    发表于 01-20 06:06

    外部中断的知识点汇总,绝对实用

    外部中断的知识点汇总,绝对实用
    发表于 01-21 07:39

    DBC编辑的知识点汇总,绝对实用

    DBC编辑的知识点汇总,绝对实用
    发表于 02-09 08:02

    STM32时钟树的基础知识点汇总,绝对实用

    STM32时钟树的基础知识点汇总,绝对实用
    发表于 02-14 07:49

    三极管的知识点汇总,绝对实用

    三极管的知识点汇总,绝对实用
    发表于 02-15 06:23

    PHP基础学习知识点详细资料汇总免费下载

    本文档的主要内容详细介绍的是PHP基础学习知识点详细资料汇总免费下载。
    发表于 04-11 17:43 15次下载
    PHP基础<b class='flag-5'>学习</b><b class='flag-5'>知识点</b>详细资料<b class='flag-5'>汇总</b>免费下载

    PHP基础学习知识点汇总免费下载

    本文档的主要内容详细介绍的是PHP基础学习知识点汇总免费下载。
    发表于 04-24 16:45 6次下载
    PHP基础<b class='flag-5'>学习</b><b class='flag-5'>知识点</b><b class='flag-5'>汇总</b>免费下载

    python学习知识点 新手必备技能

    python新手必备学习4大阶段,如何学好python技术,如何掌握python知识点,这些都知道吗? 本人从事
    的头像 发表于 07-18 17:17 1978次阅读

    Python的基础语法知识点大全

    本文档的主要内容详细介绍的是Python的基础语法知识点大全。
    发表于 06-12 08:00 1次下载

    Python知识点总结详细说明

    本文档的主要内容详细介绍的是Python知识点总结详细说明。
    发表于 09-29 17:13 14次下载
    <b class='flag-5'>Python</b>的<b class='flag-5'>知识点</b>总结详细说明

    数字电子技术重要知识点汇总

    数字电子技术重要知识点汇总免费下载。
    发表于 07-06 17:06 50次下载

    Python OpenCV学习路线重要知识点汇总 2

    类构成,提供了 Python、Ruby、MATLAB 等语言的接口,所以在学习的时候,要注意查阅资料的语言实现相关问题。 这个阶段除了安装 OpenCV 相关库以外,建议收藏官方网址,官方手册,官方入门教程,这些都是最佳的
    的头像 发表于 02-07 15:35 669次阅读

    Python OpenCV学习路线重要知识点汇总 3

    类构成,提供了 Python、Ruby、MATLAB 等语言的接口,所以在学习的时候,要注意查阅资料的语言实现相关问题。
    的头像 发表于 02-07 15:36 750次阅读