实战:基于OpenCV的人眼检测
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
无论学习什么,实践都非常重要。如果打算学习OpenCV、Numpy等Python库,那么这简单的12行代码很适合实践并体验这些库的实时使用。
OpenCV 是 Intel 创建的图像处理库。它提供了简单而有用的方法来读取和写入图像。OpenCV 库允许您实时高效地运行计算机视觉算法。OpenCV 是一个流行的计算机视觉库,具有许多用于图像分析的内置工具。OpenCV 的主要优势之一是它经过高度优化,几乎可在所有平台上使用。
Numpy 是一个用于 Python 科学计算的库。它提供了一个高性能的多维数组对象和用于处理这些数组的工具。NumPy 数组类似于列表。我们可以通过首先导入列表将列表转换为 NumPy 数组。Numpy 数组包含相同类型的数据,我们可以使用属性“dtype”来获取数组元素的数据类型。
步骤1:导入所需的库
步骤2:下载以下链接中提供的文件:
https://github.com/anaustinbeing/haar-cascade-files/blob/master/haarcascade_eye.xml
单击Raw选项,然后按Ctrl+S将文件下载到计算机。将此文件上传到Jupyter笔记本中,并在代码中使用,如下所示:
Cascade Classifier函数是从大量正负图像中训练出来的。它进一步用于检测其他图像中的对象。
步骤3:读取图像并调整大小,复制图像和调用函数,如下所示:
cv2.imread(“kid.jpg”) 加载图像,定义图像的尺寸
cv2.resize() :要调整图像大小
cvtColor() 用于将图像从一种颜色空间转换为另一种颜色空间
cv2.rectangle() 用于在任何图像上绘制矩形
步骤4:显示多张图片并显示指定图片。
np.hstack() 用于在一个窗口中显示多个图像
cv2.imshow() 显示指定的图像
cv2.waitkey(0) 显示窗口,直到按下任何键
输出图像:
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~