opencv简介及Windows安装进行简单的opencv实战项目

 人们认为计算机科学是天才的艺术,但是实际情况相反,只是许多人在其它人基础上做一些东西,就像一面由石子垒成的墙。——高德纳

opencv

OpenCV 于 1999 年由 Gary Bradsky 在英特尔创立,第一个版本于 2000 年问世。Vadim Pisarevsky 加入了 Gary Bradsky,负责管理英特尔的俄罗斯软件 OpenCV 团队。2005 年,OpenCV 被用于 Stanley ,这辆车赢得了 2005 年美国穿越沙漠 DARPA 机器人挑战大赛。后来,在 Willow Garage 的支持下,在 Gary Bradsky 和 Vadim Pisarevsky 主导下,OpenCV 项目的开发工作变得活跃起来。OpenCV 现在支持与计算机视觉和机器学习相关的众多算法,并且每天都在拓展中。

OpenCV 支持各种编程语言,如 C++,Python,Java 等,可在不同的平台上使用,包括 Windows,Linux,OS X,Android 和 iOS。基于 CUDA 和 OpenCL 的高速 GPU 操作接口也在积极开发中。

OpenCV-Python 是 OpenCV 的 Python API,结合了 OpenCV C++ API 和 Python 语言的最佳特性。


Opencv-python

OpenCV-Python 是一个 Python 绑定库,旨在解决计算机视觉问题。

Python 是一种由 Guido van Rossum 开发的通用编程语言,它很快就变得非常流行,主要是因为它的简单性和代码可读性。它使程序员能够用更少的代码表达思想,而不会降低可读性。

与 C/C++ 这类语言相比,Python 的速度更慢。好在,可以使用 C/C++ 轻松的拓展 Python ,我们可以在 C/C++ 中编写计算密集型代码,并用 Python 来封装。这给我们带来了两个好处:首先,代码像原始的 C/C++ 代码一样快(因为后台实际上就是 C/C++ 代码在工作),其次,在 Python 中编写代码比在 C/C++ 中更容易。OpenCV-Python 就是 OpenCV C++ 的 Python 封装。

OpenCV-Python 使用了 Numpy,这是一个有着 MATLAB 风格语法,高度优化的用于数值计算的库。所有 OpenCV 数组结构都与 Numpy 数组进行转换。这也使得与使用 Numpy 的其他库(如 SciPy 和 Matplotlib)集成更容易。


OpenCV(开源计算机视觉库)是一个开源的BSD许可库,其中包含数百种计算机视觉算法。该文档描述了所谓的OpenCV 2.x API,它本质上是一个C ++ API,与基于C的OpenCV 1.x API相反。

OpenCV具有模块化结构,这意味着该软件包包含几个共享或静态库。提供以下模块:

  • 核心功能 - 定义基本数据结构的紧凑型模块,包括密集的多维数组Mat和所有其他模块使用的基本功能。
  • 图像处理 - 包括线性和非线性图像滤波,几何图像变换(调整尺寸,仿射和透视扭曲,通用的基于表的重新映射),色彩空间转换,直方图等的图像处理模块。
  • 视频 - 包括运动估计,背景减除和对象跟踪算法的视频分析模块。
  • calib3d - 基本多视图几何算法,单和立体相机校准,对象姿态估计,立体声对应算法和3D重建的元素。
  • features2d - 显着特征检测器,描述符和描述符匹配器。
  • objdetect - 检测对象和预定义类的实例(例如,面部,眼睛,杯子,人,汽车等)。
  • highgui - 一个易于使用的界面,简单的UI功能。
  • 视频I / O - 视频采集和视频编解码器的易于使用的界面。
  • gpu - 来自不同OpenCV模块的GPU加速算法。

Windows安装

1.安装anaconda(因为我不想直接安装在我主环境下,用来创建一个虚拟环境为了后续工作的方便)

Anaconda | The World's Most Popular Data Science Platform

选着win10的下载

开始安装 

 

选择路径 

选着 

 之后打开anaconda

创建一个虚拟环境

点击create创建虚拟环境 

 英文名或者数字不要带中文创建成功后我们就安装opencv-python

打开终端(终端激活虚拟环境)

conda activate xxxx(自己刚才创建定义的名字)

 后输入


pip install opencv-python==4.1.2.30

等待安装就可以了

此时我们的opencv环境就安好啦!

打开pycharm(添加解释器)

 选着我们conda环境下创建的虚拟环境

 虚拟环境添加成功后我们来试一下代码吧

接下来我们试一下opencv二维码识别

代码如下

import numpy as np
import matplotlib.pyplot as plt
import cv2
import time

from pyzbar.pyzbar import decode

cap = cv2.VideoCapture(0)
cap.set(3, 640)
cap.set(4, 480)

while True:

    success, img = cap.read()

    for barcode in decode(img):
        codeData = barcode.data.decode('utf-8')
        print(time.strftime("%H:%M:%S-") + codeData)
        pts = np.array([barcode.polygon], np.int32)
        pts = pts.reshape((-1, 1, 2))
        cv2.polylines(img, [pts], True, (255, 0, 255), 5)
        pts2 = barcode.rect
        cv2.putText(img, time.strftime("%H:%M:%S-") + codeData, (pts2[0], pts2[1]), cv2.FONT_HERSHEY_SIMPLEX, 0.9,
                    (255, 0, 255), 2)

    cv2.imshow('image', img)
    cv2.waitKey(1)

会出现一个二维码使用 pyzbar识别QR二维码错误我们在conda的终端输入

pip install pyzbar

就可以运行啦

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

池子tt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值