cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\contours.cpp:197: error: (-210:Unsupported format or combination of formats) [Start]FindContours supports only CV_8UC1 images when mode != CV_RETR_FLOODFILL otherwise supports CV_32SC1 images only in function 'cvStartFindContours_Impl'
时间: 2023-07-21 07:04:17 浏览: 152
这个错误是由于你提供的图像格式不支持在给定的模式下使用cv2.findContours()函数。在这种情况下,你需要检查以下几个方面:
1. 确保你的图像是灰度图像或二值图像,因为cv2.findContours()函数仅支持8位灰度或二值图像。
2. 确保你的图像格式与cv2.findContours()函数的模式兼容。如果使用了CV_RETR_FLOODFILL模式,则需要使用8位灰度图像。如果使用了其他模式,则需要使用32位整型图像。
3. 确保你的图像尺寸和深度与cv2.findContours()函数的输入要求相同。
如果以上步骤都检查过了,但仍然出现错误,则建议检查一下opencv-python库的版本是否正确。
相关问题
File "D:\code-python\python生成二维码\2.py", line 14, in <module> bg = cv2.cvtColor(img,cv2.COLOR_BGR2RGB) 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'
这个错误通常是由于cv2.imread()函数无法正确读取图像文件导致的。请检查代码中的图像路径是否正确,以及图像文件是否存在。你可以尝试使用绝对路径来读取图像,或者将图像文件移动到与代码文件相同的目录中。
如果你确定图像文件路径没有问题,那么可能是图像文件格式不受支持导致的。请确保图像文件的格式是OpenCV支持的格式,如JPEG、PNG等。如果你的图像文件格式不受支持,可以将其转换为OpenCV支持的格式。
最后,如果上述方法都没有解决问题,你可以尝试更新或重新安装OpenCV库。如果你使用的是旧版本的OpenCV库,可能会出现一些问题。
cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:971: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'
这个错误是由于使用cv2.imshow()函数时传递了一个无效的图像大小导致的。请确保您正在传递有效的图像大小作为参数,例如:
```
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 确认图像读取成功
if img is not None:
# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
else:
print('无法读取图像文件')
```
如果您仍然遇到问题,请检查您的图像是否存在,或者使用其他图像文件进行测试。
阅读全文