【发布时间】:2020-05-14 01:00:32
【问题描述】:
我目前正在使用 OpenCV 进行人脸检测。我通过使用带有级联训练器 GUI 的正面和负面图像完成了训练。但是,当我运行我的代码来测试人脸检测时,只有第一张图像有效(仅当 .detectMultiScale 设置为 gray,1.01,7 时),它不适用于其他图像。
import cv2
import numpy as np
face_cascade = cv2.CascadeClassifier('classifier/cascade.xml')
img = cv2.imread('p/pic2.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray,1.01,7)
for (x,y,w,h) in faces:
img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
我所有的正面图像都是灰度的,它们的大小是 (600,600)。我的负图像尺寸更大,但不是灰度。有80张正片和160张负片。我确定这是否会影响结果。
【问题讨论】:
标签: python opencv haar-classifier