Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在cv2中找不到detectMultiScale功能?_Python_Opencv - Fatal编程技术网

Python 在cv2中找不到detectMultiScale功能?

Python 在cv2中找不到detectMultiScale功能?,python,opencv,Python,Opencv,第一次张贴 我目前正试图在M1 macbook air上使用virtual studio在python中使用opencv2,但由于某些原因,我无法使用detectMultiScale函数?我已经完全卸载了所有内容,重新安装了所有内容,但都没有用错误:(-215)!函数detectMultiScale中的空() 例如: 灰度\u img=cv2.cvt颜色(img,cv2.COLOR\u bgr2灰色) 面部坐标=经过训练的面部数据。检测多尺度(灰度图像) 抓住我 face_coordin

第一次张贴

我目前正试图在M1 macbook air上使用virtual studio在python中使用opencv2,但由于某些原因,我无法使用detectMultiScale函数?我已经完全卸载了所有内容,重新安装了所有内容,但都没有用<代码>错误:(-215)!函数detectMultiScale中的空()

例如: 灰度\u img=cv2.cvt颜色(img,cv2.COLOR\u bgr2灰色)

面部坐标=经过训练的面部数据。检测多尺度(灰度图像)

抓住我

    face_coordinates = trained_face_data.detectMultiScale(grayscaled_img)
cv2.error: OpenCV(4.5.1) /private/var/folders/nz/vv4_9tw56nv9k3tkvyszvwg80000gn/T/pip-req-build-39p1qqfs/opencv/modules/objdetect/src/cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'detectMultiScale'
另外,我对使用python完全是新手,所以我有一个快速的问题,就是我是否需要创建一个虚拟环境,激活它,然后pip在那里下载opencv2?我尝试将cv2下载到python文件的终端,但无法在那里导入cv2。我想可能是因为文件路径不同?但我不知道如何将pip安装程序用于特定的文件路径。我只能在venv内安装cv2后导入cv2

请告知,谢谢

在问这个问题之前,我试过:

导入cv2
#训练人脸数据导入
trained_face_data=cv2.CascadeClassifier('frontfacedetector.xml'))
#导入我的脸
img=cv2.imread('Aaron_Prof_Pic.jpg'))
#变为灰度
灰度\u img=cv2.CVT颜色(img,cv2.COLOR\u bgr2灰色)
#检测人脸
面坐标=经过训练的面数据。检测多尺度(灰度图像)
cv2.imshow('为什么这不起作用',灰度图像)
cv2.waitKey()
打印(“代码已完成”)

这意味着
haarcascade\u frontalface\u default.xml
与代码的目录不在同一目录中,或者它已损坏

如果它在同一个目录中,那么尝试使用

trained_face_data=cv2.CascadeClassifier(cv2.data.haarcascades+“haarcascade_frontalface_default.xml”)
最终的代码应该类似于:

导入cv2
训练有素的_face_data=cv2.CascadeClassifier(cv2.data.haarcascades+“haarcascade_frontalface_default.xml”)
img=cv2.imread('Aaron_Prof_Pic.jpg'))
imgGray=cv2.cvt颜色(img,cv2.COLOR\u bgr2灰色)
面=经过训练的面数据。检测多尺度(imgGray)
对于面中的(x,y,w,h):
cv2.矩形(img,(x,y),(x+w,y+h),(0255,0),2)
cv2.imshow(“人脸检测器”,img)
按键按下=cv2。等待键(1)
如果按键按==32:#空格键的ascii码
quit()#当按下空格键时退出程序

这意味着
haarcascade\u frontalface\u default.xml
与代码的目录不在同一目录中,或者它已损坏

如果它在同一个目录中,那么尝试使用

trained_face_data=cv2.CascadeClassifier(cv2.data.haarcascades+“haarcascade_frontalface_default.xml”)
最终的代码应该类似于:

导入cv2
训练有素的_face_data=cv2.CascadeClassifier(cv2.data.haarcascades+“haarcascade_frontalface_default.xml”)
img=cv2.imread('Aaron_Prof_Pic.jpg'))
imgGray=cv2.cvt颜色(img,cv2.COLOR\u bgr2灰色)
面=经过训练的面数据。检测多尺度(imgGray)
对于面中的(x,y,w,h):
cv2.矩形(img,(x,y),(x+w,y+h),(0255,0),2)
cv2.imshow(“人脸检测器”,img)
按键按下=cv2。等待键(1)
如果按键按==32:#空格键的ascii码
quit()#当按下空格键时退出程序

对不起,我打错了,实际上我有密码。在真实代码中。问题是detectMultiScale未被检测为函数这意味着haarcascade文件不在同一文件夹中或已损坏请共享您的完整代码查看Post中更新的应答完整代码抱歉,我键入了错误的代码,我实际有错误。在真实代码中。问题是detectMultiScale未被检测为函数这意味着haarcascade文件不在同一文件夹中或已损坏请共享您的完整代码查看更新后的应答完整代码