如果检测到人脸,如何添加 "a human face was found"?
How can I add "a human face was found" if a face is detected?
这是我写的代码,我希望能够在终端上显示找到了多少张面孔,我尝试了一些方法(如果 face_coordinates: cv2.imshow("a human was找到”、网络摄像头)和其他但没有任何效果
import cv2
# load some pre-trained data on front faces (haarcascade algorithm)
trained_face_data = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# to capture video from webcam
webcam = cv2.VideoCapture(1)
# iterate forever over frames
while True:
successful_frame_read, frame = webcam.read()
#flip the video (mirror)
flipped_frame = cv2.flip(frame, 1)
# convert to grayscale
grayscaled_img = cv2.cvtColor(flipped_frame, cv2.COLOR_BGR2GRAY)
# detect faces
face_coordinates = trained_face_data.detectMultiScale(grayscaled_img)
# show rectangles around the face
for (x, y, w, h) in face_coordinates:
cv2.rectangle(flipped_frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
# show the webcam
cv2.imshow("Fadi's face detector system", flipped_frame)
key = cv2.waitKey(1)
# exit app if Q or q are pressed
if key==81 or key==113:
break
if face_coordinates: # python types can be coerced to boolean
cv2.imshow("Human was found!", webcam)
continue
else:
cv2.imshow("no human was found...", webcam)
continue
webcam.release()
为了打印在终端中检测到的人脸数量,我尝试对检测到的不同人脸进行计数,并在此基础上打印检测时在终端中发现的人的数量。我对您的代码做了一些小改动,如下所示。
import cv2
# load some pre-trained data on front faces (haarcascade algorithm)
trained_face_data = cv2.CascadeClassifier(cv2.data.haarcascades +'haarcascade_frontalface_default.xml')
# to capture video from webcam
webcam = cv2.VideoCapture(0)
# iterate forever over frames
while True:
successful_frame_read, frame = webcam.read()
#flip the video (mirror)
flipped_frame = cv2.flip(frame, 1)
# convert to grayscale
grayscaled_img = cv2.cvtColor(flipped_frame, cv2.COLOR_BGR2GRAY)
# detect faces
face_coordinates = trained_face_data.detectMultiScale(grayscaled_img)
count=0
# show rectangles around the face
for (x, y, w, h) in face_coordinates:
count=count+1
cv2.rectangle(flipped_frame, (x, y), (x+w, y+h), (0, 255, 0), 3)
# show the webcam
cv2.imshow("Fadi's face detector system", flipped_frame)
key = cv2.waitKey(1)
# exit app if Q or q are pressed
if key==81 or key==113:
break
# python types can be coerced to boolean
if count==1:
print(count," human found")
elif count>0:
print(count," humans found")
else:
print("No human was found")
webcam.release()
这是我写的代码,我希望能够在终端上显示找到了多少张面孔,我尝试了一些方法(如果 face_coordinates: cv2.imshow("a human was找到”、网络摄像头)和其他但没有任何效果
import cv2
# load some pre-trained data on front faces (haarcascade algorithm)
trained_face_data = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# to capture video from webcam
webcam = cv2.VideoCapture(1)
# iterate forever over frames
while True:
successful_frame_read, frame = webcam.read()
#flip the video (mirror)
flipped_frame = cv2.flip(frame, 1)
# convert to grayscale
grayscaled_img = cv2.cvtColor(flipped_frame, cv2.COLOR_BGR2GRAY)
# detect faces
face_coordinates = trained_face_data.detectMultiScale(grayscaled_img)
# show rectangles around the face
for (x, y, w, h) in face_coordinates:
cv2.rectangle(flipped_frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
# show the webcam
cv2.imshow("Fadi's face detector system", flipped_frame)
key = cv2.waitKey(1)
# exit app if Q or q are pressed
if key==81 or key==113:
break
if face_coordinates: # python types can be coerced to boolean
cv2.imshow("Human was found!", webcam)
continue
else:
cv2.imshow("no human was found...", webcam)
continue
webcam.release()
为了打印在终端中检测到的人脸数量,我尝试对检测到的不同人脸进行计数,并在此基础上打印检测时在终端中发现的人的数量。我对您的代码做了一些小改动,如下所示。
import cv2
# load some pre-trained data on front faces (haarcascade algorithm)
trained_face_data = cv2.CascadeClassifier(cv2.data.haarcascades +'haarcascade_frontalface_default.xml')
# to capture video from webcam
webcam = cv2.VideoCapture(0)
# iterate forever over frames
while True:
successful_frame_read, frame = webcam.read()
#flip the video (mirror)
flipped_frame = cv2.flip(frame, 1)
# convert to grayscale
grayscaled_img = cv2.cvtColor(flipped_frame, cv2.COLOR_BGR2GRAY)
# detect faces
face_coordinates = trained_face_data.detectMultiScale(grayscaled_img)
count=0
# show rectangles around the face
for (x, y, w, h) in face_coordinates:
count=count+1
cv2.rectangle(flipped_frame, (x, y), (x+w, y+h), (0, 255, 0), 3)
# show the webcam
cv2.imshow("Fadi's face detector system", flipped_frame)
key = cv2.waitKey(1)
# exit app if Q or q are pressed
if key==81 or key==113:
break
# python types can be coerced to boolean
if count==1:
print(count," human found")
elif count>0:
print(count," humans found")
else:
print("No human was found")
webcam.release()