OpenCV——1
一、认识计算机视觉
1.发展历史
•最早追溯到老子小孔成像
•现代1966年MIT的马文·明斯基的学生实现PC链接摄像机,标志计算机视觉作为一门学科开始发展
•1982.马尔文发布《视觉》标志着CV正式成为一门学科
•1999.David Lowe 发表SIFT特征相关论文,OpenCV收录使用
•2001.V&J发表基于HAAR特征的实时人脸检测算法
•2005.HOG提出特征提取的行人检测算法
•2006.Pascal VOC数据集发布
•2012.AlexNet模型赢得ImageNet图像分类比赛冠军,展现出深度学习在CV领域的应用前景
•未来世界离不开CV
2.主要任务
早期主要研究领域为重建
2012后,受深度学习影响重建与感知快速发展
目标:通过图灵测试
3.应用场景
•自动驾驶/辅助驾驶
•计算机视觉-AI + 机构/工业质检检测
…
•形成全场景的行业应用
二、计算机视觉框架
1.计算机视觉框架
•Matlab . 追溯到1970年 . 支持图像处理
•Matrox mil . 1993年发布第一个版本
•Halcon . 追溯到1996 . CV领域应用最多,主流框架
•OpenCV . 1999启动,2006发布1.0版本 . 开源
•VisionPro . 2009年发布
传统计算机视觉框架
•SimpleCV
•BoofCV
•Dlib
•JavaCV
深度学习计算机视觉(训练)框架
•Caffe
•Tensorflow
•Pytorch
•Paddlepaddle
•Keras
深度学习计算机视觉(部署)框架
•OpenVINO
•TensorRT
•onnxruntime
•Deepface
•YOLO/DarkNet
•mmdetection
•Paddle-detection/seg/ocr
2.当前主流框架
•机器视觉方向-Halcon/VisionPro/Mil/OpenCV
•深度学习方向-tensorflow/pytorch/paddlepaddle + openvino/tensorRT/onnxruntime
•主流语言Python/C++
3.计算机视觉框架的未来趋势
•低代码平台流行趋势明显
•传统视觉跟深度学习整合趋势明显
•算法设计流程化/可视化
•算法模块易用性跟通用性
•计算资源异构化支持趋势
•深度学习模型训练简捷化
三、OpenCV
•github: https://github.com/opencv
•Tutorial: https://docs.opencv.org/4.5.5/index.html
1.发展历史
•OpenCV在1999年的开始开发….
•2006年 OpenCV1.0正式发布(C)
•2009年 OpenCV2.0正式发布(C++)
•2012年 社区托管模式(开源)
•2015年 OpenCV3.0正式发布(完善接口)
•2018年 OpenCV4.0正式发布
•2022年4月份,4.5.5版本
2.OpenCV模块架构
3.OpenCV安装与支持
•Python SDK安装,推荐3.6.5
•OpenCV-Python安装 pip install opencv-python==4.5.4.60
(支持镜像安装-i https://pypi.tuna.tsinghua.edu.cn/simple)
•检查 pip list
python
Import cv2 as cv
cv.__version__
4.Intel Devcloud codelab使用
网址:devcloud.intel.com/edge(注册登录)
学习——教程——OpenCV Tutorial
四、图像读取与显示
计算机通过数值识别灰度或彩色图像
图像读取与显示
•import cv2 as cv – 导入OpenCV支持
•import numpy as np – 导入Numpy支持
•imread函数,读取图像
•imshow函数, 显示图像
•加载图像的通道顺序
•cv.imread(filename[,flags])
-filename 表示文件路径
-[]内的参数表示可选,可以不填
•cv.imshow( winname, mat) #BGR
-winname表示窗口标题
-mat 表示图像对象
•cv.waitKey(0) #表示一直等待,直到任意一个键盘操作
•cv.waitKey(1000) #表示等待1000毫秒即1秒
•cv.destroyAllWindows() #关闭窗口并取消分配任何相关的内存使用。对于一个简单的程序,实际上不必调用这些函数,因为退出时操作系统会自动关闭应用程序的所有资源和窗口


