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 ('studentDetailsstudentDetails.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 回调回避中的异常(最近一次调用(:
文件 "C:\Users\Lenovo\AppData\Local\Programs\Python\Python37\lib\tkinter__init__.py", 第 1705 行,在调用返回 self.func(*args( 文件中 "C:\Users\Lenovo\Desktop\face reconiger system.py",第 87 行,在 TakeImage 中 面=检测器。检测多尺度(灰色,1.2,5(;属性错误: 'cv2.CascadeClassifier' 对象没有属性 'DetectMultiScale'

.xml文件的路径看起来不正确。您需要替换以下行:

harcascadePath = "haarcascade_frontalfacedafults_.xml"

harcascadePath = cv2.data.haarcascades + 'haarcascade_frontalface_default.xml'

最新更新