python-3.x - 如何测量脸的大小?
问题描述
我正在尝试测量照片上脸部和眼睛的大小。我正在使用 Python 和库 OpenCV。
import cv2
import os
def find_faces(image_path):
image = cv2.imread(image_path)
# Make a copy to prevent us from modifying the original
color_img = image.copy()
filename = os.path.basename(image_path)
# OpenCV works best with gray images
gray_img = cv2.cvtColor(color_img, cv2.COLOR_BGR2GRAY)
# Use OpenCV's built-in Haar classifier
haar_classifier = cv2.CascadeClassifier('file.xml')
eye_cascade = cv2.CascadeClassifier('eyes.xml')
faces = haar_classifier.detectMultiScale(gray_img, scaleFactor=1.1, minNeighbors=5)
print('Number of faces found: {faces}'.format(faces=len(faces)))
len2 = 0
for (x, y, width, height) in faces:
cv2.rectangle(color_img, (x, y), (x+width, y+height), (0, 255, 0), 2)
roi_gray = gray_img[y:y+height, x:x+width]
roi_color = color_img[y:y+height, x:x+width]
eyes = eye_cascade.detectMultiScale(roi_gray)
for (ex,ey,ew,eh) in eyes:
cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
len2 = cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
# Show the faces / eyes found
cv2.imshow(filename, color_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
if __name__ == '__main__':
find_faces('Images/face3.jpg')
此代码的结果是突出显示面部和眼睛的照片:
所以我的问题是如何以厘米为单位测量面部和眼睛的大小?
抱歉,如果这是一个有点基本的问题,但由于某种原因,我在网上找不到太多可以指导我的问题。我用谷歌搜索了很多,阅读了不同的文章,但没有任何帮助。
谢谢
解决方案
推荐阅读
- json - 使用 JSON.stringify() 的麻烦
- c++ - OpenSSL 1.1.1d - SSL_CTX_set_cert_verify_callback 的异步使用?
- azure - 在业务中心获取 azure key vault 的访问令牌时出错?
- javascript - 有没有办法使用javascript比较2个文本框值?
- solr - 当您的查询类似于“q=*:*”时,如何减少查询结果缓存的预热时间?
- python - 使用python pandas为字符串中的每个字符在csv中创建一个新列
- r - 迭代/顺序删除并替换 df 变量并输入函数
- vue.js - 在浏览器中直接输入内部路由 url 时防止主页显示几秒钟
- visual-studio-code - VScode 找不到 JAR
- python - 如何在 Flask 的 WTForms 中呈现 optgroup