首页 > 编程问答 >我正在尝试通过编辑 github 上的代码来解决我下载的验证码图像

我正在尝试通过编辑 github 上的代码来解决我下载的验证码图像

时间:2024-07-30 16:14:39浏览次数:11  
标签:python opencv computer-vision relative-path working-directory

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. 图像路径不正确:

  2. 检查文件名和扩展名: 确保文件名(包括扩展名) 1.png 在你的代码中是正确的,并且与实际文件名匹配。

  3. 检查文件位置: 确认 1.png 文件位于你的 Python 工作目录中。 你可以打印 os.getcwd() 来查看当前工作目录,或者使用绝对路径来代替相对路径。
  4. 尝试使用正斜杠: 虽然 Windows 通常接受正斜杠和反斜杠,但最好在你的代码中始终使用正斜杠 ( / ),以避免任何潜在的问题。

  5. 图像文件损坏:

  6. 尝试打开另一个图像查看器中的图像: 确保你能够在其他程序中打开 1.png 图像,以排除图像文件损坏的可能性。

  7. 使用其他图像测试代码: 尝试使用其他图像来运行你的代码,看看问题是否仍然存在。 如果其他图像工作正常,则表示原始图像文件可能已损坏。

以下是更新代码的示例,它使用绝对路径并包含了一些错误检查:

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 版本。
  • 你的完整代码以及任何相关文件(例如,图像文件)的结构。

标签:python,opencv,computer-vision,relative-path,working-directory
From: 78801252

相关文章

  • 当 python 极坐标中某些列条目为空时,如何分解 List[_] 列?
    给定如下所示的Polarsdf,如何在两列上调用explode(),同时将空条目扩展到正确的长度以与其行匹配?shape:(3,2)┌───────────┬─────────────────────┐│x┆y││---┆---......
  • OpenCV实现图搜图简单案例
    一、概述使用OpenCV实现一个简单的图搜索的小功能特点:暴力匹配实现原理:1.将图片集合生成特征描述,并存入文件2.加载目标图像,并生成图像特征描述3.加载图像特征描述文件列表4.图像特征描述和集合中的特征描述列表进行匹配......
  • 使用python从网站自动下载pdf时出错
    我想从一个名为epadossier.nl的网站自动批量下载pdf我用谷歌搜索了这个并找到了一段代码并修复了一个小错误。所以现在我得到了这个`importrequestsurl="https://www.epadossier.nl/adres/plaats/straat/num"response=requests.get(url)ifresponse.status_cod......
  • 避免字符串连接的嵌套循环的 Pythonic 方法
    我想找到所有5位数字的字符串,其中前三位数字在我的第一个列表中,第二个槽第四个数字在我的第二个列表中,第三到第五个数字在我的最后一个列表中:l0=["123","567","451"]l1=["234","239","881"]l2=["348","551","399"......
  • Python 环境配置(二)安装jupyter、matplotlib、numpy库
    Python环境配置(二)安装jupyter、matplotlib、numpy库一、numpypipinstallnumpy二、matplotlibpipinstallmatplotlib三、jupyter1、anaconda自带Jupyter2、pycharm插件只有Pycharm的Professional版才支持JupyterNotebook,请注意版本3、新建文件#%......
  • 如何使用 PIPE 并行运行 python 子进程?
    我正在使用inkscape将一堆SVG图像转换为PNG。单线程:importsubprocessimporttimeimportosinkscape_path=r'C:\ProgramFiles\Inkscape\bin\inkscape.com'steps=30filenames=[]processes=[]#t_start=time.process_time()t_start=time.time()f......
  • Python sqlite3 删除数据
    要从SQLite表中删除记录,你需要使用DELETEFROM语句。要删除特定的记录,你需要同时使用WHERE子句。要更新特定的记录,你需要同时使用WHERE子句。语法以下是SQLite中DELETE查询的语法- DELETEFROMtable_name[WHEREClause]PythonCopy例子假设我们使用以下查询创建了......
  • Python 环境配置(一)Python、Anaconda、Pycharm的安装
    Python环境配置(一)Python、Anaconda、Pycharm的安装本人之前已安装一次,此次为卸载之后的重新安装。。。一、Python1、下载下载官网:下载链接:DownloadPython|Python.org勾选添加到路径(环境变量)next如图所示之后点close关闭2、验证win+Rcmd:python退出ex......
  • Pycharm 设置 yaml 格式接口测试用例模板 (python+pytest+yaml)
    前言初次编写的伙伴们可能对yaml格式不太熟悉,自己写yaml用例的时候,总是格式对不齐啊记不住设定好的关键字啊等等等琐事是我们可以在pycharm上设置用例模块,通过快捷方式调用出对应的模块,达到高效写用例的目的。 pycharm操作集:1、File-Settings(快捷键Ctrl+Alt+S) 2、Live......
  • Python - Redirecting output of print to a file
    Theprintfunctioncanalsobeusedtowritetoafile.Theoutputofprint,thatisbydefault,senttothescreencanberedirectedtoanopenfile.Forthis,youhavetosupplythefileobjectasanargumentforthenamedparameterfile.Hereisanexa......