一、背景

 

无论学习什么,实践都非常重要。如果打算学习OpenCV、Numpy等Python库,那么这简单的12行代码很适合实践并体验这些库的实时使用。

 

二、OpenCV库

 

OpenCV 是 Intel 创建的图像处理库。它提供了简单而有用的方法来读取和写入图像。OpenCV 库允许您实时高效地运行计算机视觉算法。OpenCV 是一个流行的计算机视觉库,具有许多用于图像分析的内置工具。OpenCV 的主要优势之一是它经过高度优化,几乎可在所有平台上使用。

  三、NumPy库 

 

Numpy 是一个用于 Python 科学计算的库。它提供了一个高性能的多维数组对象和用于处理这些数组的工具。NumPy 数组类似于列表。我们可以通过首先导入列表将列表转换为 NumPy 数组。Numpy 数组包含相同类型的数据,我们可以使用属性“dtype”来获取数组元素的数据类型。

 

四、步骤

 

步骤1:导入所需的库

实战:基于OpenCV的人眼检测_OpenCV

 

步骤2:下载以下链接中提供的文件:

https://github.com/anaustinbeing/haar-cascade-files/blob/master/haarcascade_eye.xml

 

实战:基于OpenCV的人眼检测_OpenCV_02

 

单击Raw选项,然后按Ctrl+S将文件下载到计算机。将此文件上传到Jupyter笔记本中,并在代码中使用,如下所示:

实战:基于OpenCV的人眼检测_OpenCV_03

Cascade Classifier函数是从大量正负图像中训练出来的。它进一步用于检测其他图像中的对象。

 

步骤3:读取图像并调整大小,复制图像和调用函数,如下所示:

实战:基于OpenCV的人眼检测_OpenCV_04
  •  
cv2.imread(“kid.jpg”) 加载图像,定义图像的尺寸 cv2.resize() :要调整图像大小cvtColor() 用于将图像从一种颜色空间转换为另一种颜色空间cv2.rectangle() 用于在任何图像上绘制矩形

 

步骤4:显示多张图片并显示指定图片。

实战:基于OpenCV的人眼检测_OpenCV_05
  •  
np.hstack() 用于在一个窗口中显示多个图像cv2.imshow() 显示指定的图像cv2.waitkey(0) 显示窗口,直到按下任何键

输出图像:

实战:基于OpenCV的人眼检测_OpenCV_06

实战:基于OpenCV的人眼检测_OpenCV_07

实战:基于OpenCV的人眼检测_OpenCV_08

实战:基于OpenCV的人眼检测_OpenCV_09

 

实战:基于OpenCV的人眼检测_OpenCV_10