【Python入门教程】CV2报错:cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\s
OpenCV作为一个强大计算机视觉库被各个领域广泛应用,今天分享下自己编程遇到的报错信息以及解决办法。
1 报错信息
这里包含了一个警告和一个报错信息。
警告信息:OpenCV库在处理TIFF图像时遇到的问题有关。从警告信息来看,你的TIFF图像可能使用了64位的样本(sample),而OpenCV的TiffDecoder无法处理这种情况
报错信息:OpenCV在尝试对一个空的图像(或者路径无效,不能读取为图像)进行颜色空间转换时抛出的。cv2.cvtColor
函数是用于改变图像的颜色空间的,例如从RGB转为灰度图像或者HSV等。错误信息表示你试图对一个空的图像(_src.empty()为真)进行颜色空间转换。换句话说,你给出的图像文件路径可能是错误的,或者文件不存在,或者虽然文件存在,但是无法正确读取。
2 解决办法
2.1 解决警告信息
使用cv2.normalize
、cv2.convertScaleAbs
函数或者GDAL库将tif转为8位。(cv2的两个函数我都没成功,用GDAL库成功了下篇文章再跟大家分享)
2.2 解决报错信息
- 检查你的图像文件路径是否正确。确保路径是正确的,并且对应的文件确实存在。(别用中文路径)
- 确保你的图像文件是可以被OpenCV正确读取的。有些图像文件可能是损坏的,或者格式不被OpenCV支持。
- 在尝试读取图像之前,确保文件路径是正确的,并且文件存在。你可以使用os模块的os.path.exists()函数来检查。
- 同时也有可能是你的图片/tif是64位的图片,导致cv2库无法理解不能正常读取影像信息。解决办法参考2.1或者下篇文章。