我的网络摄像头加载速度很慢,即使仅偶尔调用pyttsx3函数也是如此

2024-10-03 19:23:40 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上,每当我试图打开我的网络摄像头时,我的代码运行得非常非常慢。我有一种感觉,它可能只是我的电脑,因为它是低端型号,但我想确定。在浏览代码时,我没有看到任何压倒性的时间复杂度或内存问题,因此我不太理解为什么它如此缓慢。这是我的密码:

我试着在初始化和其他方面做些改变

eng = pyttsx3.init()

def startSpeech(name):
   eng.say("I see a " + name)
   eng.runAndWait()

#basic classifiers
faceCascade = ...
carCascade = ...

cam cv2.VideoCapture(0)

while True:
   ret, img = cam.read()
   gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

   faces = faceCascade.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=5)
   cars = carCascade.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=5)

   for(x, y, w, h) in faces:
       cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2)
       cv2.putText(img, "Human", (x+5, y-5),
                    cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)
       startSpeech("human")

   for(x, y, w, h) in cars:
       cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2)

       cv2.putText(img, "Car", (x+5, y-5),
                    cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 0), 2)
       startSpeech("Car")
   cv2.imshow('camera', img)

   if cv2.waitKey(10):
      break
cam.release()
cv2.destroyAllWindows()

Tags: nameimgforcarscv2engcamfaces