这是一个用Opencv和Arduino制作的人脸追踪器,但是出了点问题,这段代码运行后会自动停止。 我的代码在这个网址中:https://pastebin.com/Zeb2FMqc
def detectjob():
while True:
ret, img = cap.read()
if ret:
cv2.namedWindow("img", cv2.WINDOW_AUTOSIZE)
cv2.resizeWindow('img', 500, 500)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 5)
roi_gray = gray[y:y + h, x:x + w]
roi_color = img[y:y + h, x:x + w]
arr = {y: y + h, x: x + w}
xx = int(x + (x + h)) / 2
print(xx)
yy = int(y + (y + w)) / 2
print(yy)
data = "X{0:f}Y{0:f}".format(xx, yy) + 'c'
print(data)
arduino.write(data.encode())
cv2.imshow('img', img)
k = cv2.waitKey(30) & 0xff
if k == 27:
break
cap.release()
cv2.destroyAllWindows()