我有这个代码
import cv2
import sys
# Get user supplied values
imagePath = sys.argv[1]
cascPath = sys.argv[2]
# Create the haar cascade
faceCascade = cv2.CascadeClassifier(cascPath)
# Read the image
image = cv2.imread(imagePath)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Detect faces in the image
faces = faceCascade.detectMultiScale(
gray,
scaleFactor=1.1,
minNeighbors=5,
minSize=(30, 30),
flags = cv2.cv.CV_HAAR_SCALE_IMAGE
)
print "Found {0} faces!".format(len(faces))
# Draw a rectangle around the faces
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow("Faces found", image)
cv2.waitKey(0)
用于检测面部并使用我的凸轮围绕它们制作矩形。 我想将检测到的面部作为图像并将其保存在具有相同大小矩形的文件夹/test/1.jpg中。 为了与保存的照片进行比较..并获取人名 怎么会发生?
答案 0 :(得分:0)
以下是保存图像的方法
for (x, y, w, h) in faces:
if(x<0 and y<0):
face= frame[ 0:h, 0:h,:]
elif(y<0):
face= frame[ 0:0+h, x:w,:]
elif(x<0):
face= frame[ y:h, 0:0+w,:]
else:
face= frame[ y:h, x:w,:]
cv2.imwrite("folder /test/1.jpg", face)