解決detectMultiScale報錯問題

代碼添加face_cascade = cv2.CascadeClassifier('E:\Anaconda3\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml'),

然後把faces = face.detectMultiScale(gary,1.1,3,0,(100,100))替換爲faces = face_cascade.detectMultiScale(gary,1.1,3,0,(100,100)),附上代碼,至於爲什麼這麼做解決了問題,我也不知道。。。

import cv2
face = cv2.CascadeClassifier(r'E:\\Python37\\Lib\\site-packages\\cv2\data\\haarcascade_frontalface_alt.xml')
face_cascade = cv2.CascadeClassifier('E:\Anaconda3\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml')
capture = cv2.VideoCapture(0)
cv2.namedWindow('video online')
while True:
    ret,frame = capture.read()
    gary = cv2.cvtColor(frame,cv2.COLOR_RGB2GRAY)
    faces = face_cascade.detectMultiScale(gary,1.1,3,0,(100,100))
    for(x,y,w,h) in faces:
        cv2.rectangle(frame,(x,y),(x+w,y+h),(0,255,0),2)
        #顯示圖片
        cv2.imshow('fangbaolin',frame)
        if cv2.waitKey(5) & 0xFF == ord('q'):
            break
capture.release()
cv2.destroyAllWindow()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章