import keras
import pandas as pd
import numpy as np
import cv2
import glob
import imutils
from imutils import paths
import os
import os.path
import sys
import tensorflow
print(os.getcwd())
os.environ['TF_ENABLE_ONEDNN_OPTS'] = '0'
captcha_image = ("c:/Users/micha/Documents/PythonProgramming/IG/captcha.jpg")
# Load the image and convert it to grayscale
image = cv2.imread(captcha_image)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
当我尝试使用名为 1.png 的文件运行代码时,我收到此错误:
Traceback (most recent call last):
pytesseract_solver.py", line 14, in <module>
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cv2.error: OpenCV(4.10.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:196: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
我已经搜索了此错误,但似乎没有一个结果能够帮助我的问题。
添加了 os.environ[ 'TF_ENABLE_ONEDNN_OPTS'] = '0' 正如另一篇文章中所建议的,但错误仍然存在。
错误信息 "cv2.error: OpenCV(4.10.0) ... error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'" 意味着你试图在空的图像上执行
cv2.cvtColor
函数。 这通常意味着 OpenCV 无法在指定路径中加载你的图像。
以下是一些可能的原因和解决方案:
-
图像路径不正确:
-
检查文件名和扩展名: 确保文件名(包括扩展名)
1.png
在你的代码中是正确的,并且与实际文件名匹配。 -
检查文件位置:
确认
1.png
文件位于你的 Python 工作目录中。 你可以打印os.getcwd()
来查看当前工作目录,或者使用绝对路径来代替相对路径。 -
尝试使用正斜杠: 虽然 Windows 通常接受正斜杠和反斜杠,但最好在你的代码中始终使用正斜杠 (
/
),以避免任何潜在的问题。 -
图像文件损坏:
-
尝试打开另一个图像查看器中的图像: 确保你能够在其他程序中打开
1.png
图像,以排除图像文件损坏的可能性。 - 使用其他图像测试代码: 尝试使用其他图像来运行你的代码,看看问题是否仍然存在。 如果其他图像工作正常,则表示原始图像文件可能已损坏。
以下是更新代码的示例,它使用绝对路径并包含了一些错误检查:
import cv2
import os
image_path = "c:/Users/micha/Documents/PythonProgramming/IG/1.png"
# Check if the file exists
if not os.path.exists(image_path):
print(f"Error: Image file not found at '{image_path}'")
else:
# Load the image
image = cv2.imread(image_path)
# Check if the image was loaded successfully
if image is None:
print(f"Error: Could not load image from '{image_path}'")
else:
# Convert the image to grayscale
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Continue with your code here ...
如果以上步骤均未解决问题,请提供以下信息,以便我进一步帮助你:
- 你正在使用的 Python 和 OpenCV 版本。
- 你的完整代码以及任何相关文件(例如,图像文件)的结构。