OpenCv-Python 开源计算机视觉库 (一)

本文介绍了OpenCV-Python的基础知识,包括其历史、特点和安装。重点讲解了如何使用OpenCV-Python进行图片和视频的基本操作,如打开、显示、保存图片,以及视频捕获、播放和保存。内容涵盖图像处理、视频分析、特征检测等核心功能,并提供了简单的代码示例。
摘要由CSDN通过智能技术生成

1. 初识 OpenCv

1999年,英特尔的 Gary Bradsky 发起了 OpenCv 项目,并于 2000 年发布第一个版本。2005年,OpenCv 被首次应用在 Stanley,这也是赢得同年 DARPA 大挑战赛的车型。如今,OpenCv 除了支持计算机视觉,还增加了众多机器学习相关算法,未来还将持续扩展。

OpenCV 支持众多主流编程语言,如:C++,Python,Java 等,可在不同的平台上使用,包括 Windows,Linux,OS X,Android 和 iOS。此外,基于 CUDA 的高速 GPU 运算接口,和 OpenCL 也在开发当中。

2. OpenCV-Python

本文介绍的是 OpenCv 的 Python 接口,即 OpenCV-Python,但它并非 OpenCv 的 Python 实现,而仅仅是原生 OpenCv C++ 实现的 Python 包装,也就是说,我们可以像普通 Python 模块一样导入使用,但后台运行的依然是 C++ 程序,这样既发挥了 Python 的简单易用性,也充分利用了 C++ 的执行高效性,可谓两者兼得。

值得注意的是,OpenCv-Python 使用 numpy 进行数值运算,所有的 OpenCv(C++)的数组结构都在内部转换成 numpy 数组。当然,这也使得它更容易与其他使用 numpy 的库集成,如:Scipy 和 Matplotlib 。

3. 安装

pip install opencv-python

4. 功能概览

  • GUI支持: 显示和保存图片和视频,控制鼠标事件和跟踪栏
  • 核心运算:图片像素编辑,对图像执行算术运算,性能优化
  • 图像处理:颜色空间变化,几何变换,图像阈值,平滑处理,渐变,边缘检测,融合,轮廓线,直方图,傅立叶变化,余弦变换,模版匹配,霍夫线变换,霍夫圆变换,图像分割,前景提取,
  • 特征检测与描述:哈里斯角点检测,托马斯角点检测,SIFT,SURF,ORB,特征匹配,图像查找
  • 视频分析:背景分割,目标追踪,
  • 相机校准与三维重建:相机校准,姿态预测,极线几何,图像提取景深(3维重建)
  • 机器学习:KNN(K 临近值),SVM(支持向量机), K-Means Clustering(K均值聚类)
  • 计算机影像学:图像去噪,图像复原,HDR
  • 目标检测:人脸识别

5. 基本操作

导入模块:

import cv2 as cv

5.1 图片打开, 显示, 保存

使用 cv.imread() 打开图片,返回的是一个 numpy 数组。

img = cv.imread('dog.jpeg')

print(type(img), img.shape)
<class 'numpy.ndarray'> (320, 320, 3)

上面得到是彩色图片的 numpy 数组,也可以直接得到灰度图片的 numpy 数组。

img_gray = cv.imread('dog.jpeg', 0)

print(type(img_gray), img_gra
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值