Bootstrap

openCV-Task01:001-004 认识计算机视觉;计算机视觉框架;OpenCV框架;图像读取与显示

目录

001:认识计算机视觉

1.发展历史

2.主要任务

3.应用场景

002:计算机视觉框架

1.传统计算机视觉框架

2.深度学习计算机视觉框架

3.当前主流框架应用

4.未来趋势

003:OpenCV框架

1.发展历史

2.模块架构

3.安装与支持

代码实现:

运行结果:

004:图像的读取与显示

图像理解

函数与参数

显示与等待时间

代码实现:

运行结果:


001:认识计算机视觉

1.发展历史

2.主要任务

早期-重建

2012年之后-感知+重建<-----------------深度学习

目标-通过图灵测试

3.应用场景

自动驾驶/辅助驾驶

机器视觉

安防监控

002:计算机视觉框架

1.传统计算机视觉框架

时间流行框架
最早Matlab数据处理工具箱<--------图像处理
1993年Matrox mil
1996年Halcon
1999年OpenCv(2006年发布1.0版本,2009年发布2.0版本)

2009年

visionPro
当前

Simple/CVBoofCV/JavaCV

2.深度学习计算机视觉框架

Caffe,Tensorflow,Pytorch,Paddlepaddle,Keras

OpenVINO,TensorRT,onnxruntime,Deepface,YOLO/DarkNet

mmdetection,Paddle-detection/seg/ocr

3.当前主流框架应用

机器视觉方向-Halcon/VisionPro/Mil/OpenCV

深度学习方向-TensorFlow/Pytorch/paddlepaddle+openvino/tensorRT/onnxruntime

主流语言python/C++

4.未来趋势

低代码平台流行趋势明显

传统视觉跟深度学习整合趋势明显

算法设计流程化/可视化

算法模块易用性跟通用性

计算资源异构化支持趋势

深度学习模型训练简洁化

003:OpenCV框架

1.发展历史

 

2.模块架构

 

3.安装与支持

我使用的环境是conda+pycharm,cv版本是4.5.1

因为害怕python版本,以及numpy版本与opencv版本不兼容问题,所以没有安装最新版

numpy=1.18.1

python=3.6.5

opencv-python=4.5.1

且直接在pycharm导入镜像源链接下载的,速度很快,不到一分钟

代码实现:

import cv2 as cv
import numpy as np

print(np.version.version)
print(cv.__version__)

运行结果:

 

004:图像的读取与显示

图像理解

import cv2 as cv 导入 OpenCV 支持
import numpy as np 导入 Numpy 支持
imread 函数,读取图像
imshow 函数 , 显示图像
加载图像的通道顺序

函数与参数

cv.imread (filename[,flags]) -> retval
- filename 表示文件路径
- [] 内的参数表示可选,可以不填
cv.imshow winname , mat) -> None
- winname 表示窗口标题
- mat 表示图像对象

显示与等待时间

cv.waitKey (0) 表示一直等待,直到任意一个键盘操作
cv.waitKey (1000) 表示等待 1000 毫秒即 1
不加图片会一闪而过

代码实现:

image = cv.imread(r"F:\Python\OpenCV\data\lena.jpg")
cv.imshow("lena", image)
cv.waitKey(0)
cv.destroyAllWindows()

我在官网下载了官方给的图片案例,链接给在下面,有需要的自行下载

https://github.com/opencv/opencv/archive/4.6.0.zip

图片在sample/data目录下

运行结果:

 

第一节课的内容总结完毕!
;