(RPA)学习 RPA中检测一张图片中是否含有人脸

艺赛旗 RPA9.0全新首发免费下载 点击下载
http://www.i-search.com.cn/index.html?from=line1
详细内容请参看艺赛旗官网支持栏目:RPA社区
点击链接进入 http://support.i-search.com.cn/

想要检测一张图片中是否含有人脸,需要用到的关键技术就是人脸检测。

人脸检测算法的输入是一张图像,输出是人脸框的坐标序列,具体结果是 0 个人脸框或 1 个人脸框或多个人脸框。

人脸检测算法的原理简单来说是一个“扫描”加“判定”的过程。即首先在整个图像范围内扫描,再逐个判定候选区域是否为人脸的过程。因此人脸检测算法的计算速度会跟图像尺寸大小以及图像内容相关。在实际编写代码时,我们可以通过设置“输入图像尺寸”、或“最小脸尺寸限制”、“人脸数量上限”等参数来加快算法的运行速度。

我们使用 opencv 这个库来进行人脸的检测,这个库在我们的 RPA 中已经内置,直接导入即可。

相关代码及注释如下:

import cv2

image = cv2.imread(‘1.png’) # 加载图片
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 转换成灰度图,提高计算速度

face_cascade = cv2.CascadeClassifier(r"C:\iS-RPA\plugin\Com.Isearch.Func.Python\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml") # 加载Haar特征分类器

faces = face_cascade.detectMultiScale(
gray, # 要检测的图像
scaleFactor = 1.15, # 图像尺寸每次缩小的比例
minNeighbors = 3, # 一个目标至少要被检测到3次才会被标记为人脸
minSize = (5, 5) # 目标的最小尺寸
) # 探测图片中的人脸

for (x,y,w,h) in faces:
cv2.rectangle(image, (x,y), (x+w,y+h), (0,255,0), 2) # 为每个人脸绘制矩形框

cv2.imshow(“image”, image)
cv2.waitKey(0)
len(faces) 即为检测到图片中人脸的数量

你可能感兴趣的:(RPA教程,python基础,9.0版本体验,RPA,艺赛旗,iS-RPA)