计算机视觉的发展从古代小孔成像,到近现代的相机,再到后来成为一个正式学科,计算机视觉其实就是两方面内容重建
和识别
。
Pascal VOC是一个做计算机视觉的基础数据集,包括图像分类,图像识别,语义分割等等。
2012年之后,人们逐渐讲计算机视觉迁移到了深度学习领域。
未来的世界肯定都是在像素
中的,而这些都离不开计算机视觉。
早期,计算机视觉主要研究领域是重建。
2012年之后,计算机视觉在感知和重建两个领域受到了深度学习影响,快速发展。
目标是:通过图灵测试
。(即,达到和人类视觉一模一样的感知和重建)
所以说计算机视觉已经从一个简单的学科,变到落地在千行百业。
我们如何把现在的计算机视觉的框架应用到我们的实际使用中来。
Matrox mil
在机器视觉领域至今依然很好用。
Halcon
的框架也是做机器视觉非常好用的一个框架,到现在做一些机器视觉也很好用。
Opencv
到现在已经集成了很多的传统框架,而且是开源的。
VisionPro
也是现在很常用的一个机器视觉的框架。
注意:只有OpenCV是开源免费的,其他三个都是商业收费的。
右面这些是把OpenCV包在各种东西中使用。
有了深度学习之后,将OpenCV应用到深度学习就是下面这些。左图是深度学习模型的训练框架,右图是专门针对视觉的部署框架。
注意就是只有OpenCV是开源免费的。
深度学习只有把训练框架和部署框架结合起来才能更好的使用。
在计算机视觉领域主流的语言就是python和c++。(这两个语言都要会)
现在的一些趋势
未来的一些趋势
OpenCV1.0是C语言的接口,到了OpenCV2.0变成C++的接口,去避免一些内存泄漏的问题。
2012年就变成由开源社区来管理。
OpenCV4.x与之前的OpenCV3.x差别是很大的,如果在不同版本下写代码,迁移的时候需要做修改,建议用4.x来学习。
官方的话:OpenCV4.x is more than 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安装包(这个是包括一些扩展包的)
建议使用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)
本系列所有OpenCv相关的代码示例和内容均来自博主学习的网站:opencv_course