Numpy python opencv2,错误摄像头界面,仅cam灯

Numpy python opencv2,错误摄像头界面,仅cam灯,numpy,opencv,python-3.7,opencv3.0,opencv-python,Numpy,Opencv,Python 3.7,Opencv3.0,Opencv Python,这是opencv2 Takeimage按钮的代码。 它不能正常工作,只有cam灯亮,但摄像头界面不显示: def TakeImage(): Id=(txt.get()) name=(txt2.get()) 如果(是_编号(Id)和名称.isalpha()): 视频=cv2。视频捕获(0) harcascadePath=“haarcascade\u frontafacedafulls.xml” 检测器=cv2.级联分类器(harcascadePath) sampleNum=0 虽然(正确): re

这是opencv2 Takeimage按钮的代码。
它不能正常工作,只有cam灯亮,但摄像头界面不显示:

def TakeImage():
Id=(txt.get())
name=(txt2.get())
如果(是_编号(Id)和名称.isalpha()):
视频=cv2。视频捕获(0)
harcascadePath=“haarcascade\u frontafacedafulls.xml”
检测器=cv2.级联分类器(harcascadePath)
sampleNum=0
虽然(正确):
ret,img=Video.read();
灰色=cv2.CVT颜色(img,cv2.COLOR\U BGR2GRAY)
面=检测器。检测器多尺度(灰色,1.2,5);
对于面中的(x,y,w,h):
cv2.再结晶(img,(x,y),(x+w,y+h),(255,0,0),2)
sampleNum=sampleNum+1
cv2.imwrite(“TrainImages\”+name+“+Id+”.+str(samlpeNum)+.jpg”,灰色[y:y+h,x:x+h])
cv2.imshow(“帧”,img)
如果cv2.waitKey(100)&0XFF==ord('s'):
打破
elif样本>60:
打破
Video.release()
cv2.destroyAllWindows()
res=“为ID:+ID+”Name:+Name保存的图像
行=[Id,名称]
将open('studentDetails\studentDetails.csv','a+')作为csvFile:
writer=csv.writer(csvFile)
writer.writerow(行)
csvFile.close()
message.configure(text=res)
其他:
如果(是_编号(Id)):
res=“按字母顺序输入名称”
message.configure(text=res)
如果(name.isalpha()):
res=“输入数字Id”
message.configure(text=res)
错误显示:

Tkinter回调回溯中出现异常(最近一次调用最后一次):
文件 “C:\Users\Lenovo\AppData\Local\Programs\Python37\lib\tkinter\uuuu init\uuuuu.py”, 第1705行,在呼叫中 在TakeImage中返回self.func(*args)文件“C:\Users\Lenovo\Desktop\face Reciger system.py”,第87行 面=检测器。检测器多尺度(灰色,1.2,5);AttributeError:'cv2.CascadeClassifier'对象没有属性'DetectMultiScale'


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

harcascadePath = "haarcascade_frontalfacedafults_.xml"

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