认识计算机视觉
计算机视觉的发展历史
- 最早可以追溯到墨子所作的小孔成像实验。
- 而现代的计算机视觉发展历史则于相机密切相关。
- 1966年MIT的马文·明斯基的学生实现了PC链接摄像机
- 1982年马尔发布了一本叫做《视觉》的书,这标志着计算机视觉成为了一门正式的学科
- 1999年,David Lowe发表SIFT特征相关论文
- 2001年,V&J发表基于HAAR特征的实时人脸检测
- 2005年,HOG特征提取的行人检测算法提出
- 2006年,Pascal VOC数据集发布
- 目标检测
- 语义分割
- …
- 2012年,AlexNet模型赢得ImageNet图像分类比赛冠军
- 深度学习在视觉领域开始流行
- 计算机视觉+5G,未来世界信息都在像素中,离不开计算机视觉
计算机视觉的主要任务
- 早期,计算机视觉主要研究领域是重建。
- 2012年以后,计算机视觉在感知与重建两个领域都受到了深度学习的影响,进入了快速发展期。
- 计算机视觉的最终目标是通过图灵测试。
应用场景
- 自动驾驶、辅助驾驶
- 机器视觉-AI+机构/工业质检智能
- 安防监控-人脸识别/火灾监控/异常监控
- 其他更多行业
计算机视觉框架
早期计算机视觉框架概述
- Matlab的历史最早可以追溯到1970年,早期作为数据处理工具箱,后期支持图像处理。
- Matrox mil 1993年发布了第一个版本
- Halcon最早可以追溯到1996年,至今有25年历史
- OpenCV在1999年启动,在2006年发布了1.0版本(唯一一个免费的)
- VisionPro 在2009年发布
此外还有一些其他的框架
- SimpleCV
- BoofCV
- Dlib
- JavaCV
深度学习计算机视觉框架
- Caffe
- Tensorflow
- Paddlepaddle
- Keras
除了以上的训练框架以后,还有一些部署框架。
当前计算机视觉框架
计算机视觉框架的未来趋势
- 低代码平台
- 传统视觉与深度学习整合
- 算法设计流程化/可视化
- 算法模块易用性与通用性
- 计算机资源异构化支持趋势
- 深度学习模型训练简捷化
OpenCV框架
发展历史
- 1999年开始
- 2006年发布了1.0版本
- 2009年发布了2.0版本
- 2012年转入社区托管模式
- 2015年发布了3.0版本
- 2018年发布了4.0版本
- 截至2022年4月份,发布了4.5.5版本
模块架构
- 加速技术
- TBB
- PPL
- SSE
- CUDA
- UI(统一指令集)
- 系统支持
- Windows
- MacOS
- Linux
- 架构支持
- x86
- x64
- ARM
- RISCV
- GPU/CUDA
安装与支持
复制安装:
pip install opencv-python==4.5.4.60 -i https://pypi.tuna.tsinghua.edu.cn/simple
图像读取与显示
理解图像
如果是灰度图像,就是单通道的;如果是彩色图像,就是三通道的。
图像读取与显示
import cv2 as cv
import numpy as np
imread函数:读取图像
imshow函数:显示图像
cv.imread(filename[,flag])
cv.imshow(winname, mat)
cv.waitKey(0) # 一直等待,知道任意一个键盘操作
cv.waitKey(1000) # 表示等待1000毫秒
可以自己修改图像,多试几次。