认识OpenCV以及为什么我们需要了解它?

533 阅读4分钟

OpenCV(开源计算机视觉库)是一个开源的计算机视觉和机器学习软件库。它的建立是为了给计算机视觉应用提供一个通用的基础设施,并加速机器感知在商业产品中的使用。作为一个BSD授权的产品,OpenCV使企业很容易利用和修改代码。

OpenCV

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

计算机视觉的目的是为了理解图像的内容。它从图片中提取描述,这可能是一个物体,一个文本描述,和三维模型,等等。例如,计算机视觉可以为汽车提供便利,它将能够识别道路周围的不同物体,如交通灯、行人、交通标志等,并采取相应的行动。

计算机视觉使计算机能够以同样的效率完成与人类相同的任务。以下是两项主要任务。

  • 对象分类在对象分类中,我们在特定对象的数据集上训练一个模型,该模型将新对象分类为属于一个或多个训练类别。
  • 对象识别 在对象识别中,我们的模型将识别一个对象的特定实例 - 例如,解析图像中的两张脸,并将其中一张标记为Virat Kohli,另一张标记为Rohit Sharma。

OpenCV的安装

有许多方法可以将OpenCV安装在你的计算机上,下面是一些方法:

使用Anaconda安装

Anaconda是一个用于科学计算的Python和R编程语言的有条件的免费和开源的发行版,旨在简化软件包的管理和部署。你可以从 这里下载并安装它。

成功安装Anaconda后,只需进入Anaconda提示符,使用这个命令来安装OpenCV。

conda install -c conda-forge opencv

对于Windows

你可以使用pip在Windows上安装OpenCV。Pip是一个事实上的标准软件包管理系统,用于安装和管理用Python编写的软件包,它通常在你安装Python时就已经安装了。如果你没有安装Python,我建议从这里下载它。在命令提示符下使用这个命令来安装OpenCV。

pip install opencv-python

用于Mac

你可以使用homebrew来安装OpenCV,因为它使安装变得非常简单,你只需要使用这个命令来安装。

brew install opencv

现在你已经把OpenCV安装到你的系统上了,让我们看看它是如何工作的。

计算机是如何读取图像的?

请看下面这张图片。

OpenCV Python Tutorial - EdurekaOpenCV Python Tutorial - Edureka

我们可以算出这是一张纽约天际线的图片。但是,计算机能自己发现这一点吗?答案是不能。计算机将任何图像读作0至255之间的数值范围。对于任何彩色图像,有3个主要通道--红色、绿色和蓝色。它是如何工作的非常简单。

每种原色都形成一个矩阵,然后这些矩阵结合起来,为各个R、G和B颜色提供一个像素值。

矩阵的每个元素都提供与像素的亮度强度有关的数据。

考虑一下下面的图像。

OpenCV Python Tutorial - EdurekaOpenCV Python Tutorial - Edureka

如图所示,这里的图像的大小可以计算为B x A x 3。

OpenCV的好处

OpenCV的主要好处是它对算法的大量访问,广泛使用,以及算法的效率。下面是其优点的更多细节。

庞大的算法

OpenCV提供了超过2500种最先进和经典的算法。通过使用这个库,用户可以执行各种任务,如去除红眼,提取物体的三维模型,跟踪眼球运动等。

广泛的使用

像IBM、谷歌、丰田这样的大公司,甚至像Zeitera和Applied Minds这样的初创公司都在使用OpenCV完成各种任务。

在OpenCV的庞大社区中,用户可以向其他开发者寻求帮助并提供帮助。这使开发者能够获得人们对库和代码的洞察力。

高效的解决方案

OpenCV提供的算法效率主要用于处理实时程序。此外,它的设计方式使其能够利用硬件加速和多核系统来部署。

技术规格

OpenCV演示

# Python program to explain cv2.imwrite() method

# importing cv2
import cv2

image_path = 'example.png'

# Using cv2.imread() method
# to read the image
img = cv2.imread(image_path)

# Filename
filename = 'savedImage.jpg'

# Using cv2.imwrite() method
# Saving the image
cv2.imwrite(filename, img)

# Reading and showing the saved image
img = cv2.imread(filename)
cv2.imshow("GeeksforGeeks", img)

cv2.waitKey(0)
cv2.destroyAllWindows()

结论

总之,我们已经研究了什么是OpenCV,OpenCV的好处,它的技术规格,计算机如何读取图像,以及如何在Windows、Linux和Mac上安装OpenCV。我希望这篇文章能让你对OpenCV有一些了解,从而开始使用OpenCV。