当前位置: 首页 > news >正文

python中ocr图片文字识别样例(一)

一、使用easyocr安装依赖

pip install easyocr
pip install opencv-python-headless  # 处理图像

二、具体实现,此处有个缺陷,大家可以尝试解决下,识别的文字打印结果没问题,但是图片识别出现乱码:

2.1 具体识别的图片

2.2 代码实现:

我有必要说下这块reader = easyocr.Reader(['ch_sim', 'en'], model_storage_directory='./models', download_enabled=True, gpu=False) ,这块也可以这么写:

reader = easyocr.Reader(['ch_sim', 'en'],gpu=False)  这么写就会每次都下载模型,所以我把模型下载到指定地址,并且如果有gpu则对应gpu的参数可调整成true

# -*- coding: utf-8 -*-
import easyocr
import cv2
import matplotlib.pyplot as plt# 初始化 OCR reader (这里选择中文和英文)
reader = easyocr.Reader(['ch_sim', 'en'], model_storage_directory='./models', download_enabled=True, gpu=False) # 读取图像
image_path = 'read_image.png'  # 替换成你的图片路径
image = cv2.imread(image_path)# 识别图像中的文字
result = reader.readtext(image_path)# 输出识别的结果
for (bbox, text, prob) in result:print(f"识别结果: {text}, 置信度: {prob:.4f}")# # 显示识别框和文字
for (bbox, text, prob) in result:# bbox 是一个包含四个坐标点的数组,定义了文本框top_left = tuple(map(int, bbox[0]))bottom_right = tuple(map(int, bbox[2]))# 在图像上画出识别结果cv2.rectangle(image, top_left, bottom_right, (0, 255, 0), 2)cv2.putText(image, text, top_left, cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)# 显示图片
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.axis('off')
plt.show()

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 低级编程语言和高级编程语言
  • 【ArcGIS微课1000例】0121:面状数据共享边的修改方法
  • 如何优化前端页面的 AJAX 请求性能并避免冲突
  • 【算法题】53. 最大子数组和-力扣(LeetCode)
  • 从HarmonyOS升级到HarmonyOS NEXT-环信SDK数据迁移
  • 如何基于Flink CDC与OceanBase构建实时数仓,实现简化链路,高效排查
  • C#-日志系统
  • 多边形抠图 python
  • 怎么解除BitLocker对磁盘的加密?
  • 一个简单的基于C语言的HTTP代理服务器的案例
  • 人工智能——猴子摘香蕉问题
  • Altium Designer(AD)百度云下载与安装(附安装步骤)
  • 2024年华为杯中国研究生数学建模竞赛E题(高速公路应急车道紧急启用模型)思路
  • 第十二周:机器学习笔记
  • 错题集锦之C语言
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • mysql 数据库四种事务隔离级别
  • supervisor 永不挂掉的进程 安装以及使用
  • vue的全局变量和全局拦截请求器
  • Vue小说阅读器(仿追书神器)
  • Yeoman_Bower_Grunt
  • 聊聊redis的数据结构的应用
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 前端知识点整理(待续)
  • 在Unity中实现一个简单的消息管理器
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​secrets --- 生成管理密码的安全随机数​
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • (7)STL算法之交换赋值
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (ISPRS,2021)具有遥感知识图谱的鲁棒深度对齐网络用于零样本和广义零样本遥感图像场景分类
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • (九十四)函数和二维数组
  • (三)SvelteKit教程:layout 文件
  • (三)模仿学习-Action数据的模仿
  • (转)C#调用WebService 基础
  • (轉)JSON.stringify 语法实例讲解
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .net开发日常笔记(持续更新)
  • .net流程开发平台的一些难点(1)
  • .net知识和学习方法系列(二十一)CLR-枚举
  • @RequestMapping处理请求异常
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [12] 使用 CUDA 加速排序算法
  • [2018][note]用于超快偏振开关和动态光束分裂的all-optical有源THz超表——
  • [AIGC 大数据基础]hive浅谈
  • [bzoj1901]: Zju2112 Dynamic Rankings
  • [Flutter]打包IPA
  • [JavaEE系列] wait(等待) 和 notify(唤醒)
  • [LeetCode] 626. 换座位
  • [leetcode] Longest Palindromic Substring
  • [LeetCode] NO. 169 Majority Element