Python 3.x 模块';cv2.cv2';没有属性';PutText';
在Python 3.6.4 OpenCV 3.2 Windows 10上运行,下面的代码抛出错误 AttributeError:“模块”对象没有属性“PutText”Python 3.x 模块';cv2.cv2';没有属性';PutText';,python-3.x,Python 3.x,在Python 3.6.4 OpenCV 3.2 Windows 10上运行,下面的代码抛出错误 AttributeError:“模块”对象没有属性“PutText” import cv2 import numpy as np face_detector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') vid_cam = cv2.VideoCapture(0) recognizer = cv2.face.LBPHF
import cv2
import numpy as np
face_detector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
vid_cam = cv2.VideoCapture(0)
recognizer = cv2.face.LBPHFaceRecognizer_create()
recognizer.read("recognizer\\trainingData.yml")
id=0
font = cv2.FONT_HERSHEY_SIMPLEX, 1, 1, 0, 1, 1
while(True):
ret, image_frame = vid_cam.read()
gray = cv2.cvtColor(image_frame, cv2.COLOR_BGR2GRAY)
faces = face_detector.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
cv2.rectangle(image_frame, (x,y), (x+w,y+h), (0,0,255), 2)
Id, conf = recognizer.predict(gray[y:y+h,x:x+w])
cv2.PutText(cv2.fromarray(im),str(Id), (x,y+h),font, 255)
cv2.waitKey(100);
cv2.imshow('Face', image_frame)
if cv2.waitKey(1)==ord('q'):
break
vid_cam.release()
cv2.destroyAllWindows()
不应该有大写字母“p”。函数应该是
cv2.putText()
(注意小写字母“p”)。如果您使用的是opencv==4.1.0和python3.x,则使用以下命令在图像上写入文本
cv2.putText(image,str(name), (x,y),cv2.FONT_HERSHEY_SIMPLEX, 1, 255)
p
必须是小写的putText()