在OpenCV - python中检测到人脸时绘制圆圈的方法如下:
import cv2
import numpy as np
face_cascade = cv2.CascadeClassifier('path_to_face_cascade.xml')
这里的path_to_face_cascade.xml
是人脸检测器的预训练模型文件路径,可以使用OpenCV提供的默认模型文件。
image = cv2.imread('path_to_image.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
这里的path_to_image.jpg
是待检测的图像文件路径。
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
detectMultiScale
函数用于检测图像中的人脸,返回一个矩形框列表,每个矩形框表示一个检测到的人脸。
for (x, y, w, h) in faces:
center = (x + w // 2, y + h // 2)
radius = min(w, h) // 2
cv2.circle(image, center, radius, (0, 255, 0), 2)
这里使用cv2.circle
函数在人脸的中心位置绘制一个圆圈,圆圈的半径为人脸宽度和高度的最小值的一半。
cv2.imshow('Detected Faces', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
使用cv2.imshow
函数显示绘制圆圈后的图像,并使用cv2.waitKey
等待用户按下任意键关闭窗口。
这样,当运行以上代码时,OpenCV - python会检测到图像中的人脸,并在每个人脸周围绘制一个圆圈。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云