惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
腾讯CDC
宝玉的分享
宝玉的分享
量子位
Recent Announcements
Recent Announcements
Martin Fowler
Martin Fowler
J
Java Code Geeks
V
Visual Studio Blog
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
S
SegmentFault 最新的问题
B
Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
小众软件
小众软件
The Cloudflare Blog
Y
Y Combinator Blog
I
InfoQ
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
IT之家
IT之家

马浩飞丨博客

ROS实现多机话题通信 ROS实现多机话题通信 · Haofei Ma Cloudflare R2 个人图床 Cloudflare R2 个人图床 · Haofei Ma 【Apple Vision Pro开发】开发入门 · Haofei Ma Isaac Sim 机械臂逆运动学控制 Isaac Sim 机械臂逆运动学控制 · Haofei Ma ROS2_Rviz2显示URDF模型 ROS2_Rviz2显示URDF模型 · Haofei Ma ROS2基本命令总结 ROS2基本命令总结 · Haofei Ma 使用zsh创建更高效的shell环境 使用zsh创建更高效的shell环境 · Haofei Ma Isaac Sim 仿真环境使用简介 Isaac Sim 仿真环境使用简介 · Haofei Ma Ubuntu设置定时任务 Ubuntu设置定时任务 · Haofei Ma 审稿意见撰写流程 Ubuntu 固定USB设备端口名(ttyUSB0->自定义) Ubuntu 固定USB设备端口名(ttyUSB0->自定义) · Haofei Ma Git+Github的代码备份与多设备同步 Git+Github的代码备份与多设备同步 · Haofei Ma 【设备使用】法奥意威 FR5 机械臂 Python 控制 【设备使用】法奥意威 FR5 机械臂 Python 控制 · Haofei Ma Python识别图片中文字和数字_easyocr 【设备使用】omega.7主手配置与使用方法 【设备使用】omega.7主手配置与使用方法 · Haofei Ma 【论文笔记】ACT 使用低成本硬件的双手操作模仿学习 【论文笔记】ACT 使用低成本硬件的双手操作模仿学习 · Haofei Ma HDF5数据文件格式
Python识别图片中文字和数字_easyocr · Haofei Ma
Haofei Ma · 2024-04-09 · via 马浩飞丨博客

程序编程语言Python文字识别

发布于 更新于

字数: 235阅读约 1 分钟阅读量: 346评论数:

Python识别图片中文字和数字_easyocr

[!abstract] 项目需要实现一个识别图片中文字、数字的小功能,因此找了比较好用的开源库 easyocr,本文介绍其使用方法。

EasyOCR 介绍

EasyOCR 是一个可以直接使用的开源项目,目前在 Github 上已经有 20k+ 的 star,支持 80 多种语言的识别,精度非常高。

项目地址:https://github.com/JaidedAI/EasyOCR

EasyOCR 安装

注意:本实验默认在 Ubuntu 上进行测试,Windows 理论上可以同样操作。

(1)环境搭建

为了避免 python 包混乱冲突,一般先创建一个 conda 环境,参考此文章配置 anaconda。

conda create -n easyocr python=3.9

(2)安装 PyTorch

EasyOCR 依赖于 PyTorch,因此需要在环境中安装 PyTorch,此处以 1.12 版本为例,其他版本的安装命令可以从此处查看

conda activate easyocr
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge

(3)安装 EasyOCR

安装 EasyOCR 非常简单,执行以下命令即可

pip install easyocr

EasyOCR 基本使用

Easy 使用示例代码如下:

# 库
import os
import easyocr
import cv2
import numpy as np

# 1. 获取图像,既可以是在线图像,也可以是本地图像
# IMAGE_PATH = 'https://img.mahaofei.com/img/202401011439226.png'
image_path = './src/digital_recognition/image/digit/2000-1400-Trans.png'

# 2. 识别文字
# reader = easyocr.Reader(['ch_sim','en']) # 要识别的语言,ch_sim是简体中文,en是英文
reader = easyocr.Reader(['en'])
result = reader.readtext(image_path)     # 也可以传入opencv的图像对象(numpy数组),detail为0表示只返回识别的文字,为1表示返回识别的文字和位置
print(result)

# 3. 绘制文字矩形框和文字
image = cv2.imread(image_path)
for detection in result:
    # 提取文字框坐标和识别结果
    (bbox, text, prob) = detection
    # 将浮点数坐标转换为整数
    bbox = np.array(bbox).astype(int)
    # 在图像上绘制矩形框
    cv2.rectangle(image, (bbox[0][0], bbox[0][1]), (bbox[2][0], bbox[2][1]), (0, 255, 0), 2)
    # 在矩形框左上角绘制文字和置信度
    text_position = (bbox[0][0], bbox[0][1] - 20)
    confidence_position = (bbox[0][0], bbox[0][1] - 5)
    cv2.putText(image, text, text_position, cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)
    cv2.putText(image, f"Confidence: {prob:.2f}", confidence_position, cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 0, 0), 2)

# 显示图像
cv2.imshow("OCR Result", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

EasyOCR 基本使用