【识图】如何将本地的图片的数字或字母识别出来

复制代码
from ddddocr import DdddOcr
ocr = DdddOcr()
try:
    with open("captcha4.png","rb") as f:
        result = ocr.classification(f.read())
    print(result)
except FileNotFoundError:
    print("没有找到指定的文件")
except Exception as e:
    print(f"识别过程出现错误,{str(e)}")
print(result)

代码功能概述

这段代码主要利用了 ddddocr 库(一个用于验证码识别等文字识别相关的第三方库)来尝试识别一张名为 captcha4.png 的图片中的文字内容。它通过 try-except 语句块来处理可能出现的文件不存在以及其他识别过程中产生的异常情况,最后还尝试输出识别结果。

代码详细解析

  1. 导入库并初始化对象

    from ddddocr import DdddOcr
    ocr = DdddOcr()

首先从 ddddocr 库中导入 DdddOcr 类,然后实例化了一个 DdddOcr 对象 ocr,后续将使用这个对象来执行图片文字识别的操作。

  1. 读取图片并尝试识别(try 块内)

    try:
    with open("captcha4.png","rb") as f:
    result = ocr.classification(f.read())
    print(result)

这里使用 with 语句以二进制只读模式("rb")打开名为 captcha4.png 的文件。如果文件能成功打开,就会读取文件内容(f.read()),然后调用 ocr 对象的 classification 方法对读取到的图片数据进行文字识别,将识别结果存储在变量 result 中,并立即打印这个结果。

  1. 处理文件不存在异常(第一个 except 块)

    except FileNotFoundError:
    print("没有找到指定的文件")

如果在 try 块中尝试打开文件时,文件不存在,就会触发 FileNotFoundError 异常,此时程序会执行这个 except 块中的代码,打印提示信息告知用户没有找到指定的文件。

  1. 处理其他异常(第二个 except 块)

    except Exception as e:
    print(f"识别过程出现错误,{str(e)}")

如果在识别过程中出现了除文件不存在之外的其他任何异常(比如图片格式不支持、识别算法本身出错等),都会被这个 except 块捕获,将异常对象 e 转换为字符串并打印出相应的错误提示信息,告知用户识别过程出现了错误以及具体的错误详情(以字符串形式展示的异常内容)。

相关推荐
傲世仙尊10 分钟前
从磁盘硬件到Ext文件系统-Linux磁盘级文件系统学习笔记
linux·运维·服务器·开发语言·c++
databook11 分钟前
Python 常用统计图表实战指南
python·数据分析·数据可视化
wang_yb15 分钟前
Python 常用统计图表实战指南
python·数据分析·databook
计算机魔术师16 分钟前
黄仁勋台上接特朗普电话开免提,全场听到一句话:AI 不会减速
前端
曦夜日长22 分钟前
Linux系统篇,进程概念(三):进程状态详解、僵尸进程与孤儿进程的深度解析、Slab机制的了解
linux·运维·服务器
liulilittle30 分钟前
为什么采用全局管理缓存及状态:麻将客户端状态管理
服务器·网络·游戏·客户端·异步·mahjong·麻将
yivifu38 分钟前
HTML元素的textContent和innerText两个属性的差别
前端·html
魔镜er1 小时前
11-循环神经网络
人工智能·pytorch·python·深度学习·神经网络
咸鱼老弟1 小时前
Speculative Decoding(投机采样):大模型"先猜后验",生成速度翻倍
前端·算法·ai编程
Patrick在香港1 小时前
Python 抓香港政府公报 RSS:中英两个 feed 的 guid 零重合,lastBuildDate 停在 2016 年
python·数据处理·数据抓取·香港·rss