OpenCV 错误: 无法读取图像文件并转换为灰度图像
错误信息:
D:\pythonProject\venv\Scripts\python.exe D:\pythonProject\OCR-PRJ\ocr-remote.py
[ WARN:0@0.099] global loadsave.cpp:244 cv::findDecoder imread_('C:/Users/jian.gao/Desktop/企业微信截图_16802572874028.jpg'): can't open/read file: check file path/integrity
Traceback (most recent call last):
File "D:\pythonProject\OCR-PRJ\ocr-remote.py", line 12, in <module>
gray = cv2.cvtColor(img, 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'
Process finished with exit code 1
原因分析:
- 无法打开/读取文件: 错误提示 'can't open/read file: check file path/integrity' 表明 OpenCV 无法找到并读取指定路径的图像文件。请检查文件路径是否正确,文件是否存在,以及文件是否被其他程序占用。
- OpenCV 转换错误: 错误提示 'cv2.error: OpenCV(4.7.0) ... error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'' 表明 OpenCV 在尝试将图像从 BGR 格式转换为灰度图像时出现了错误。这通常是因为
imread()函数无法成功读取图像,导致img变量为空。
解决方法:
- 检查文件路径和文件名: 确保文件路径和文件名拼写正确,文件存在且可访问。
- 确保文件完整性: 检查文件是否损坏或不完整。
- 检查文件权限: 确保程序具有读取文件所需的操作权限。
- 打印
img变量: 在调用cv2.cvtColor()函数之前,使用print(img)打印img变量,查看其是否为空。 - 重新安装 OpenCV: 如果以上方法都无法解决问题,可以尝试重新安装 OpenCV 库。
示例代码:
import cv2
# 读取图像文件
img = cv2.imread('C:/Users/jian.gao/Desktop/企业微信截图_16802572874028.jpg')
# 检查 img 是否为空
if img is None:
print('无法读取图像文件!')
else:
# 将图像转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 显示灰度图像
cv2.imshow('Gray Image', gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
注意:
- 请将代码中的文件路径替换为您的实际路径。
- 如果问题仍然存在,请提供更多错误信息或代码片段,以便更好地帮助您解决问题。
原文地址: https://www.cveoy.top/t/topic/mwXI 著作权归作者所有。请勿转载和采集!