python opencv2, ошибка интерфейса камеры, только подсветка камеры

Это код для кнопки opencv2 Takeimage.
Она не работает должным образом, только камера светится, но интерфейс камеры не отображается:

def TakeImage():
    Id=(txt.get())
    name=(txt2.get())
    if(is_number(Id) and name.isalpha()):
        Video= cv2.VideoCapture(0)
        harcascadePath = "haarcascade_frontalfacedafults_.xml"
        detector=cv2.CascadeClassifier(harcascadePath)
        sampleNum=0
        while(True):
            ret,img=Video.read();
            gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
            faces=detector.DetectMultiScale(gray,1.2,5);
            for(x,y,w,h) in faces:
                cv2.recatangle(img,(x,y),(x+w,y+h),(255,0,0),2)
                sampleNum=sampleNum+1
                cv2.imwrite("TrainImages\ "+name +"."+Id +'.'+str(samlpeNum)+".jpg",gray[y:y+h,x:x+h])
                cv2.imshow('Frame',img)
            if cv2.waitKey(100) &0XFF == ord('s'):
                break
            elif sample>60:
                break
        Video.release()
        cv2.destroyAllWindows()
        res = "Images Saved for ID: "+ Id + " Name : "+ name
        row = [Id, Name]
        with open ('studentDetails\studentDetails.csv','a+') as csvFile:
             writer = csv.writer(csvFile)
             writer.writerow(row)
             csvFile.close()
             message.configure(text=res)
    else:
        if(is_number(Id)):
            res ="Enter Alphabetical Name"
            message.configure(text= res)
        if (name.isalpha()):
            res="Enter Numberic Id"
            message.configure(text=res)

Ошибка отображения:

Исключение в обратном вызове Tkinter Traceback (последний вызов последним):
Файл "C: \ Users \ Lenovo \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ tkinter__init __. Py", строка 1705, в вызове < / strong> return self.func (* args) Файл «C: \ Users \ Lenovo \ Desktop \ face reconiger system.py», строка 87, в TakeImage Faces = Detector.DetectMultiScale (серый, 1.2,5); AttributeError: объект 'cv2.CascadeClassifier' не имеет атрибута 'DetectMultiScale'


person jai_kumar    schedule 17.05.2020    source источник


Ответы (1)


Путь к файлу .xml выглядит неверным. Вам необходимо заменить следующую строку:

harcascadePath = "haarcascade_frontalfacedafults_.xml"

с участием

harcascadePath = cv2.data.haarcascades + 'haarcascade_frontalface_default.xml'
person Chris Henry    schedule 18.05.2020