import cv2
face_cascade = cv2.CascadeClassifier("haarcascade_frontalface_alt_tree.xml")
image = cv2.imread("2.jpg")
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for( x, y, w, h) in faces:
image = cv2.rectangle(image, (x, y), (x + w, x + h), (255, 0, 255), 3)
resized = cv2.resize(image, (int(image.shape[1] / 7), int(image.shape[0] / 7)))
cv2.namedWindow('gray', cv2.WINDOW_NORMAL)
cv2.imshow('gray', resized)
cv2.waitKey(0)
cv2.destroyAllWindows()
为什么一运行就出错
D:\ProgramData\Anaconda3\python.exe C:\Users\qq\PycharmProjects\pythonProject2\main.py
[ERROR:0@0.011] global persistence.cpp:505 cv::FileStorage::Impl::open Can't open file: 'haarcascade_frontalface_alt_tree.xml' in read mode
[ WARN:0@0.011] global loadsave.cpp:244 cv::findDecoder imread_('2.jpg'): can't open/read file: check file path/integrity
Traceback (most recent call last):
File "C:\Users\qq\PycharmProjects\pythonProject2\main.py", line 4, in <module>
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
xml 文件无法访问 , 打不开 , 图片路径似乎也有点问题
图片和文件都换成绝对路径试下,因为你现在图片读取出来为空所以cvtcolor报错,换成绝对路径,并在read完后加一句打印图片的长宽是否正确。