Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.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.颜色“BGR2GRAY”是什么;?_Python_Opencv_Face Detection - Fatal编程技术网

Python 如何解决这个错误;cv2.颜色“BGR2GRAY”是什么;?

Python 如何解决这个错误;cv2.颜色“BGR2GRAY”是什么;?,python,opencv,face-detection,Python,Opencv,Face Detection,我输入此代码用于人脸检测: import cv2 face_cascade = cv2.CascadeClassifier('venv/Lib/site- packages/cv2/data/haarcascade_frontalface_default.xml') eye_cascade = cv2.CascadeClassifier('venv/Lib/site-packages/cv2/data/haarcascade_eye.xml') img = cv2.imread('Docu

我输入此代码用于人脸检测:

import cv2
face_cascade = cv2.CascadeClassifier('venv/Lib/site- 
packages/cv2/data/haarcascade_frontalface_default.xml')

eye_cascade = cv2.CascadeClassifier('venv/Lib/site-packages/cv2/data/haarcascade_eye.xml')

img = cv2.imread('Documents\Face detection\face1.jpg')

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

faces = face_cascade.detectMultiScale(gray, 1.3, 5)

for (x, y, w, h) in faces:
img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
roi_gray = gray[y:y + h, x:x + w]
roi_color = img[y:y + h, x:x + w]

eyes = eye_cascade.detectMultiScale(roi_gray)

for (ex, ey, ew, eh) in eyes:
cv2.rectangle(roi_color, (ex, ey), (ex + ew, ey + eh), (0, 255, 0), 2)

cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
但当我运行此代码时,它给出了以下错误:

回溯(最近一次呼叫最后一次): 文件“C:/Users/Nisha/Documents/Face detection/Face detection.py”,第9行,在 灰色=cv2.CVT颜色(img,cv2.COLOR\U BGR2GRAY) cv2.error:OpenCV(4.2.0)C:\projects\opencvpython\OpenCV\modules\imgproc\src\color.cpp:182:error:(-215:断言失败)_函数“cv::cvtColor”中的src.empty()


请详细告诉我如何摆脱这个错误,或告诉任何变化,或告诉任何替代代码,这不会产生错误,我也可以完成我的工作。事实上,我是IT新手,因此在小代码中会产生许多错误,因此请指导我,以便我可以继续前进。

您尝试读取的文件丢失:

img = cv2.imread('Documents\Face detection\face1.jpg')
打印(img.shape)
放在这一行后面,以确保正确读取图像


如果您在Windows中工作,我建议您也
打印('Documents\Face detection\face1.jpg')
,并查看您试图读取的文件。我打赌您丢失了所有路径分隔符。

尝试使用以下代码读取图像文件:

import os
path = os.getcwd()

img = cv2.imread(path+'Documents\Face detection\face1.jpg')

传递给
cvtColor
-
img
Mat
为空或格式不正确。检查路径,它似乎无效。