当前位置:   article > 正文

计算机视觉OpenCv学习系列:第一部分、绪论_计算机视觉绪论

计算机视觉绪论

第一节、计算机视觉发展历程

1.计算机视觉发展历史


计算机视觉的发展从古代小孔成像,到近现代的相机,再到后来成为一个正式学科,计算机视觉其实就是两方面内容重建识别

在这里插入图片描述

Pascal VOC是一个做计算机视觉的基础数据集,包括图像分类,图像识别,语义分割等等。

2012年之后,人们逐渐讲计算机视觉迁移到了深度学习领域。

未来的世界肯定都是在像素中的,而这些都离不开计算机视觉。

2.计算机视觉的主要任务


早期,计算机视觉主要研究领域是重建

2012年之后,计算机视觉在感知重建两个领域受到了深度学习影响,快速发展。

目标是:通过图灵测试。(即,达到和人类视觉一模一样的感知和重建)

3.计算机视觉的应用场景


  • 自动驾驶/辅助驾驶
  • 机器视觉-AI+机构(主要是视觉的算法) / 工业质检智能
  • 安防监控-人脸识别 / 火灾监控 / 异常监控 (主要是一些人不好去实现的监控,比如24h监控,火灾现场的监控)
  • 其他更多行业(尤其在生物医药的细胞检测,病理切片等等应用非常广泛)

所以说计算机视觉已经从一个简单的学科,变到落地在千行百业。

第二节、计算机视觉框架

我们如何把现在的计算机视觉的框架应用到我们的实际使用中来。

1.早期计算机视觉框架概述


Matrox mil机器视觉领域至今依然很好用。

Halcon的框架也是做机器视觉非常好用的一个框架,到现在做一些机器视觉也很好用。

Opencv到现在已经集成了很多的传统框架,而且是开源的。

VisionPro也是现在很常用的一个机器视觉的框架。

注意:只有OpenCV是开源免费的,其他三个都是商业收费的。

右面这些是把OpenCV包在各种东西中使用。

在这里插入图片描述

有了深度学习之后,将OpenCV应用到深度学习就是下面这些。左图是深度学习模型的训练框架,右图是专门针对视觉的部署框架

在这里插入图片描述

2.当前主流的框架与路线


注意就是只有OpenCV是开源免费的。

深度学习只有把训练框架和部署框架结合起来才能更好的使用。

在计算机视觉领域主流的语言就是python和c++。(这两个语言都要会)

在这里插入图片描述

3.计算机视觉框架的未来趋势


现在的一些趋势

  • 低代码平台流行趋势明显(原来很多行的代码现在几行就可以实现)
  • 传统视觉跟深度学习整合趋势明显
  • 算法设计流程化/可视化
  • 算法模块易用性跟通用性
  • 计算资源异构化支持趋势
  • 深度学习模型训练简捷化(对于代码能力比较弱的,可以在模型调参调优方面搞得好一点,不用自己写深度学习的模型)

未来的一些趋势

  • 无代码化(不是不写代码,而是对于算法的代码可以复用,只需要写一些简单的调用流程)
  • 算法设计流程可视化
  • 导出部署支持多种语言
  • 计算资源支持异构化算法model zoo丰富化,本地与云端(模型市场就是说提供一个hub这种开源平台,可以在上面上传自己写的包,丰富model)
  • 开发者都可以贡献算法

第三节、OpenCV框架

1.OpenCV的发展历史


OpenCV1.0是C语言的接口,到了OpenCV2.0变成C++的接口,去避免一些内存泄漏的问题。

2012年就变成由开源社区来管理。

OpenCV4.x与之前的OpenCV3.x差别是很大的,如果在不同版本下写代码,迁移的时候需要做修改,建议用4.x来学习。

官方的话:OpenCV4.x is more than OpenCV.(自豪)

在这里插入图片描述

2.OpenCV模块架构


因为OpenCV是开源的,所以了解模块架构之后我们在自己编译的时候,可以勾掉一些自己不需要的模块。

在这里插入图片描述

非官方版本的OpenCV也可以支持C#。

  • github开源的源码(c和c++): https://github.com/opencv

  • Tutorial教程:https://docs.opencv.org/4.5.5/index.html

  • 官方教程支持C++、Python

  • Opencv-python安装包(对于课程学习安装这个就够了)

  • Opencv-contrib-python安装包(这个是包括一些扩展包的)

3.OpenCV安装与支持


建议使用Python3.6.5是因为比较稳定,和各种模块一起使用都没有不兼容的情况。

在这里插入图片描述

我使用的是Python3.9.12的版本,使用Anaconda之后他是自己已经集成好的OpenCV,具体如下:

同时发现在Pycharm中引入Anconda包的pytorch之后,他也自带了OpenCV。

Decould codelab平台:英特尔® Developer Cloud for the Edge 概述 (intel.cn)

在这里插入图片描述
在这里插入图片描述

注意:在验证邮箱的时候需要等一会,它会自动去完成重定向。

在这里插入图片描述

如果登陆成功就是这个页面,注意:这个平台账号有效期一次只有30天,我们需要提前去延期,不然会账号数据丢失。

在这里插入图片描述

登录完成之后点击下方的jupyter教程的链接,然后点击OpenCV Tutorial

在这里插入图片描述

然后就会进入一个类似jupyterlab的地方,注意教程中的这些地址是非常关键的。

注意:这个实验室平台里已经集成了各种包,我们就不需要自己去配包了

在这里插入图片描述

示例代码中这一句非常关键,意思是,我们读入的cv图片是BGR的,我们需要先把他转换成RGB再使用。

在这里插入图片描述
在这里插入图片描述

在Launcher中我们可以选择使用的版本类型,我是用的是下面红框中的版本。
在这里插入图片描述

写一个简单的代码输出data中自带的一张图片,如果不转换BGR为RGB效果如下面第二个图所示:

import cv2 as cv
import matplotlib.pyplot as plt

src = cv.imread("./data/cat.jpg") # BGR格式读入
rgb = cv.cvtColor(src,cv.COLOR_BGR2RGB)
plt.title("OpenCV Hello a cat")
plt.imshow(rgb)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

学习参考

本系列所有OpenCv相关的代码示例和内容均来自博主学习的网站:opencv_course

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/137906
推荐阅读
相关标签
  

闽ICP备14008679号