Python 3.x 模块';cv2.cv2';没有属性';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

在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.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()