📜  OpenCV –概述

📅  最后修改于: 2021-04-17 04:15:48             🧑  作者: Mango

计算机视觉

计算机视觉是一个过程,通过该过程,我们可以了解图像和视频的存储方式以及如何操作和检索图像中的数据。计算机视觉是人工智能的基础或主要用于人工智能。 Computer-Vision在自动驾驶汽车,机器人技术和照片校正应用程序中扮演着重要角色。

OpenCV的

OpenCV是用于计算机视觉,机器学习和图像处理的巨大开源库,现在它在实时操作中起着重要作用,这在当今的系统中非常重要。通过使用它,人们可以处理图像和视频来识别物体,面部,甚至是人类的笔迹。当与各种库(例如Numpuy)集成时, Python能够处理OpenCV数组结构以进行分析。为了识别图像模式及其各种特征,我们使用向量空间并对这些特征执行数学运算。

OpenCV的第一个版本是1.0。 OpenCV是在BSD许可下发布的,因此它是免费的,可用于学术商业用途。它具有C++,C, Python和Java接口,并支持Windows,Linux,Mac OS,iOS和Android。在设计OpenCV时,主要重点是实时应用程序以提高计算效率。所有内容均以优化的C / C++编写,以利用多核处理的优势。
看下面的图片


从以上原始图像中,可以获得原始图像中存在的许多信息。就像上面的图像一样,有两个可用的面孔,并且图像中的人(I)戴着手镯,手表等,因此借助OpenCV,我们可以从原始图像中获取所有这些类型的信息。
这是OpenCV的基本介绍,我们可以继续我们的应用程序以及我们接下来的文章中的所有内容。
OpenCV的应用程序有很多使用OpenCV可以解决的应用程序,下面列出了其中的一些

  • 人脸识别
  • 自动化检查和监视
  • 人数–计数(购物中心的人流等)
  • 公路上的车辆数及其速度
  • 互动艺术装置
  • 制造过程中的异常(缺陷)检测(奇数次缺陷产品)
  • 街景图像拼接
  • 视频/图像搜索和检索
  • 机器人和无人驾驶汽车导航和控制
  • 物体识别
  • 医学图像分析
  • 电影–运动的3D结构
  • 电视频道广告识别

OpenCV功能

  • 图像/视频I / O,处理,显示(核心,imgproc,highgui)
  • 对象/特征检测(objdetect,features2d,nonfree)
  • 基于几何的单眼或立体计算机视觉(calib3d,拼接,videostab)
  • 计算摄影(照片,视频,美术)
  • 机器学习和聚类(ml,flann)
  • CUDA加速(gpu)

图像处理

图像处理是一种对图像执行某些操作以获取增强图像或从中提取一些有用信息的方法。
如果我们谈论图像处理的基本定义,那么“图像处理就是对数字化图像的分析和处理,特别是为了提高其质量”。
数码影像
可以将图像定义为二维函数f(x,y),其中x和y是空间(平面)坐标,而任何一对坐标(x,y)的脂肪振幅都称为强度或灰度级在那个时候的图像。
换句话说,图像不过是由数学函数f(x,y)定义的二维矩阵(在彩色图像的情况下为3-D),它给出了像素点的像素值。在图像中,像素值描述了该像素的亮度以及其应具有的颜色。
图像处理基本上是信号处理,其中输入是图像,而输出是图像或根据与该图像相关联的要求的特征。
图像处理主要包括以下三个步骤:

  1. 导入图像
  2. 分析和处理图像
  3. 输出结果可以更改图像或基于图像分析的报告

计算机如何读取图像?
考虑下图:

我们是人类,我们可以很容易地证明那是我的个人形象。但是,如果我们问计算机“是我的照片吗?”。电脑什么也不能说,因为电脑不能自己解决所有问题。
计算机读取的任何图像的取值范围在0到255之间。对于任何彩色图像,共有3个主要通道-红色,绿色和蓝色。