分享|对OpenCV学习者的一些碎碎念
5871
2023.07.06
发布于 未知归属地

个人简介

  • 姓名:周景鑫

  • 年龄:19

  • 学历:刚高考完本科还没读 高中毕业算应届吗

  • 职业:上海石亭科技有限公司机器视觉实习生

  • 主技术栈:

    • Python
    • OpenCV
    • C++

关于传统视觉岗想说的话

  1. 学什么

    • OpenCV的主要api,需要熟悉Python版本与C++版本。
    • 需要熟悉《数字图像处理》的大部分概念。
    • 熟悉MATLAB中有关图像处理的有关api(视岗位情况而定)。
    • 熟悉C++打包OpenCV有关的动态链接库。
    • OpenCV的主要api的效果以及原理。
  2. 怎么学

    • 先考虑用途

      • 如果你只是在计算机图形学这门课里想用他写个课设,那duck不必接着往下读,你可以直接按照“用什么查什么”的思路进行。
      • 如果你想做传统视觉岗位或者做这方面的研究,建议往下读。
    • 准备什么

      • OpenCV文档类工具书或在线文档
      • 《数字图像处理》
      • 电脑 配置好opencv-python(建议用PyCharm)或者C++的OpenCV(建议用VS)
      • 爱动手的你
    • 怎么开始

      1. 配置环境,让电脑能运行cv有关程序。
      2. 打开文档,阅读api,理解各个参数意义。
      3. 查找《数字图像处理》中是否有这个api所对应的过程,如有,尝试理解其原理。
      4. 打开电脑,尝试运用一次这个api,观察得出的图像,调整各个能调整的参数并尝试理解每个参数对图像造成的影响。
      5. 如有必要,请记笔记,你要记的东西太多不一定自己记得起。
      6. 重复以上过程,直到大部分api已经刷完或者已有知识已经足够解决问题。
    • 注意事项

      • 如果在上述过程中遇到问题,积极百度或者找OpenCV的官方GitHub。
      • OpenCV的C++接口建议使用Debug版本,有很多的越界断言等,方便我们查错。
      • C++接口中大部分情况下直接看报错的那个语句是看不懂的,不知道给你跳到哪个模板的什么断言了,建议找调用堆栈。
      • Python接口中读取进来的图片为numpy的数组形式,合理利用语法糖。
    • 一些碎碎念

      • C++的报错奇奇怪怪,别担心别害怕,正常现象。
      • 如果觉得C++的环境配置困难,不妨从Python入手。
      • 数学知识还是要有一些的啦。
      • 如果处理的结果不好/不对,合理运用imshow和imwrite保存图像看看(imshow要加waitKey,K要大写的)。
      • OpenCV对中文的支持真拉胯,绝大部分场景都用不了中文,无论是路径还是putText。
      • 偷偷告诉你,OpenCV在Java和c#都有接口,只是不常用。
      • 未完待续吧。。。
  3. 暂时只有这么多了捏,想起来再补充吧!

评论 (37)