2022-12 opencv教程 task1

计算机视觉 Computer Vision

Computer vision is a field of artificial intelligence (AI) that enables computers and systems to derive meaningful information from digital images, videos and other visual inputs — and take actions or make recommendations based on that information. If AI enables computers to think, computer vision enables them to see, observe and understand.

计算机视觉发展历史

  • 1966年 MIT 马文明斯基 Marvin Minsky指导学生实现了PC连接摄像机
  • 1982年 马尔 David Marr发布一本书 《视觉》 标志成为正式学科
  • 1999年 David Lowe发表SIFT特征相关论文
  • 2001年,V&J发表基于HAAR特征的实时人脸检测
  • 2005年,HOG特征提取的行人检测算法提出
  • 2006年 Pascal VOC数据集发布
  • 2012年, ALexNet模型赢得ImageNet图像分类比赛冠军
  • 深度学习在视觉领域开始流行

计算机视觉框架

传统计算机视觉框架

  • Matlab的历史最早可以追溯到1970年,作为数据处理工具箱,后期支持图像处理
  • Matrox mil 1993年发布第一个版本
  • Halcon最早可以追溯到1996,至今25年历史
  • OpenCV 1999年启动,2006年发布1.0版本 开源
  • VisionPro 2009年发布
  • SimpleCV
  • BoofCV
  • Dlib
  • JavaCV

深度学习计算机视觉框架

训练框架

  • Caffe
  • Tensorflow
  • Pytorch
  • PaddlePaddle
  • Keras

部署框架

  • OpenVINO
  • Tensor
  • onnxruntime
  • Deepface 人脸识别
  • YOLO/DarkNet 目标检测
  • mmdetection 国内开源
  • Paddle-detection/seg/ocr 国内开源 视觉领域特定

当前业界主流框架应用

  • 机器视觉方向 - Halcon/VisionPro/Mil/OpenCV
  • 深度学习方向 - tensorflow/pytorch/paddlepaddle + openvino/tensorRT/onnxruntime
  • 主流语言 Python/C++

OpenCV框架

OpenCV发展历史

  • OpenCV在1999年开始开发
  • 2006年 OpenCV1.0 正式发布
  • 2009年 2.0
  • 2012年 社区托管模式
  • 2015年 3.0
  • 2018年 4.0
  • 2022年4月份 4.5.5
  • 现在 4.6

OpenCV模块与架构

OpenCV-Python安装

图像读取与显示

import cv2 as cv
import numpy as np
def show_image():
    image = cv.imread("starry_night.jpg")
    cv.imshow("starry night", image)
    cv.waitKey(0)
    cv.destroyAllWindows()
    
if __name__ == '__main__':
    show_image()

浙ICP备19012682号