OCR 识别案例

OCR 识别案例

注意点:输入图像尺寸比例尽量和参与模型训练的数据集比例相似,识别效果会更好。

1、pytesseract

Pytesseract是一个Python的光学字符识别(OCR)工具,它作为Tesseract OCR引擎的封装,允许你在Python程序中直接使用Tesseract的功能。通过Pytesseract,你可以从图像文件中提取文本数据。这使得它成为处理需要从图片、截图或其他图像格式中读取文字信息任务的理想选择。

通常情况下,Pytesseract会与Pillow库一起使用,后者用于图像处理。这样组合使用可以先对图像进行必要的预处理(如转换为灰度图、二值化等),然后利用Pytesseract识别图像中的文字内容。

要使用Pytesseract,你需要首先安装Tesseract OCR引擎以及pytesseract包。可以通过pip命令pip install pytesseract来安装Pytesseract。同时,别忘了从Tesseract的GitHub页面下载并安装Tesseract OCR引擎,并确保其正确配置在系统的环境变量中,以便pytesseract能够调用它。

sudo apt-get update
sudo apt install tesseract-ocr
from PIL import Image
import pytesseract# 如果没有将Tesseract加入系统路径,需要指定完整路径
# linux 安装 sudo apt install 
# pytesseract.pytesseract.tesseract_cmd = r'path_to_tesseract.exe'image = Image.open('image_containing_digits.png')
text = pytesseract.image_to_string(image, config='--psm 6 digits')
dict = pytesseract.image_to_data(large_matrix, output_type=Output.DICT)print(text)
print(dict)

2、EasyOCR

EasyOCR 是一个易于使用且功能强大的光学字符识别(OCR)Python 库,能够从图像中提取文本。它由微軟亞洲研究院(MSRA)开源,支持超过80种语言的识别,包括但不限于中文、英文、日文、韩文等。EasyOCR 的主要优点是它的易用性和高性能,即使在处理复杂背景或低质量图像时也能提供良好的识别准确率。

使用 EasyOCR 进行文字识别非常简单,只需要几行代码即可完成。首先,你需要通过 pip 安装 EasyOCR 库:

pip install easyocr
import easyocr
# ocr model path: ~/.EasyOCR/model
easyocr_tool = easyocr.Reader(['en']) # 'en'代表英文,'ch_sim'代表简体中文
# # 手动指定模型
# reader = easyocr.Reader(['en'], model_storage_directory='/path/to/your/custom/model')
img_path = 'ocr_recognition.jpg'
img = cv2.imread(img_path)
result = easyocr_tool.readtext(img)import easyocr
reader = easyocr.Reader(['en']) # 初始化时指定语言
result = reader.readtext('image_containing_digits.png')
for (bbox, text, prob) in result:print(f"文本: {text}, 置信度: {prob}")

在这里插入图片描述

3、ModelScope

modelscope项目地址

pip install modelscope
pip install modelscope[cv] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
import cv2ocr_recognition = pipeline(Tasks.ocr_recognition, model='iic/cv_convnextTiny_ocr-recognition-general_damo')### 使用url
img_url = 'http://duguang-labelling.oss-cn-shanghai.aliyuncs.com/mass_img_tmp_20220922/ocr_recognition.jpg'
result = ocr_recognition(img_url)
print(result)### 使用图像文件
### 请准备好名为'ocr_recognition.jpg'的图像文件
# img_path = 'ocr_recognition.jpg'
# img = cv2.imread(img_path)
# result = ocr_recognition(img)
# print(result)
# # result 格式是字典形式,{'text':['001']}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/74878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IP大洗牌ipv6强势来袭!!!【ipv6配置及应用】

前言 随着时代的发展,IPv4(互联网协议第四版)已逐渐无法满足全球互联网爆炸式增长的需求。自20世纪80年代诞生以来,IPv4凭借其简洁的架构和约43亿的地址容量,支撑了互联网的早期扩张。然而,在移动互联网、物…

OpenAI 推出图像生成新突破:GPT-4o 实现图像编辑对话化

关键要点 OpenAI 推出了 4o 图像生成功能,集成于 GPT-4o,提供精准且逼真的图像生成。 它似乎适用于多种用户,包括免费用户,API 访问预计几周内推出。 安全措施包括 C2PA 元数据和内容屏蔽,限制生成不适当图像。 研究…

如何快速对比两个不同的excel文件中的单元格的数据是否完全相同 并把不同的单元格的背景颜色更改为红色?

要快速对比两个不同的Excel文件中的单元格数据是否完全相同,并将不同的单元格背景颜色更改为红色,可以使用Excel的以下几种方法: 方法一:使用条件格式 打开两个Excel文件。将一个文件的内容复制到另一个文件的新工作表中&#x…

口腔种植全流程AI导航系统及辅助诊疗与耗材智能化编程分析

一、系统架构与编程框架设计 口腔种植全流程人工智能导航系统的开发是一项高度复杂的多学科融合工程,其核心架构需在医学精准性、工程实时性与临床实用性之间实现平衡。系统设计以模块化分层架构为基础,结合高实时性数据流与多模态协同控制理念,覆盖从数据采集、智能决策到…

nginx配置页面缓存,前端每次打包生成新的js文件

前端需要处理的:使用时间戳作为文件名 // nuxt.config.js export default {build: {filenames: {app: ({ isDev }) > isDev ? [name].js : [name].${Date.now()}.js, // 生产环境用时间戳chunk: ({ isDev }) > isDev ? [name].js : [name].${Date.now()}.j…

4.Socket类、InetAddr类、Epoll类实现模块化

目录 1. InetAddr类 类定义 代码说明 类实现 2.Socket类 类定义 类实现 3. Epoll类 类定义 构造与析构函数 方法实现 类实现 4. 使用模块化设计 示例使用(main.cpp) 5. 运行程序 随着程序复杂度的增加,单一的面向过程的代码会变得难以理…

视频生成的测试时Scaling时刻!清华开源Video-T1,无需重新训练让性能飙升

来源 | 机器之心 视频作为包含大量时空信息和语义的媒介,对于 AI 理解、模拟现实世界至关重要。视频生成作为生成式 AI 的一个重要方向,其性能目前主要通过增大基础模型的参数量和预训练数据实现提升,更大的模型是更好表现的基础&#xff0c…

Go 语言标准库中time模块详细功能介绍与示例

以下是 Go 语言 time 模块的详细说明及示例,涵盖时间操作、定时器、时区处理等核心功能: 一、时间基础操作 1. 获取时间 // 当前本地时间 now : time.Now() fmt.Println(now) // 2023-08-04 15:30:45.123456 0800 CST// 构造指定时间 t : time.Date(20…

【强化学习】基于深度强化学习的微能源网能量管理与优化策略研究【Python】

目录 主要内容 程序要点 2.1 微能源网系统组成 2.2 强化学习及Q学习算法 部分代码 运行结果 下载链接 主要内容 该程序借助深度 Q 网络(DQN),学习预测负荷、风 / 光可再生能源功率输出及分时电价等环境信息,运用…

dom0-kernel: /thermal-zones/soc_max/cooling-maps/map0: could not find phandle 2

问题描述: 由于soc_max下某个节点找不到,到时dom0-kernel后面有很多有关thermal热管理之类报错 问题解决及其原因分析: 这是因为在Xen解析相关节点时,soc_max下的某个节点被跳过了,注释掉相关的cpu节点处理dom0就可以找…

关于计算机视觉中的插值小记

计算机视觉中的插值(Interpolation)讲解 插值(Interpolation)在计算机视觉中是一项基础操作,常用于图像缩放、旋转、去噪、图像重建等任务。其核心思想是在已知数据点之间进行推测,估计未知的像素值或特征…

计算机网络--传输层(1)

第五章 传输层 一、传输层基本功能 进程到进程的逻辑通信 套接字(Socket):IP地址:端口号 IP地址:标识主机(网络层功能)端口号:16位整数(0-65535),标识进程 熟…

指定 Python 3.12.6-slim 作为基础镜像

指定 Python 3.12.6-slim 作为基础镜像,意思就是: 👉 用官方的 Python 3.12.6(精简版)作为容器的起点,里面已经有 Python 3.12.6 预装好了,你不用自己装。 🔹 为什么用 -slim&…

【蓝桥杯】算法笔记1

1.暴力枚举 给定一个正整数n,请找出所有满足a + b = n的整数对(a, b),其中a和b都是正整数,且a ≤ b。 输入格式:一个正整数n (1 ≤ n ≤ 10⁶) 输出格式:所有符合条件的(a, b)对,每行一对,按a的升序排列。如果没有符合条件的对,输出"No solution"。 问题分…

专注自习室:番茄工作法实践

专注自习室:番茄工作法实践 我需要一个任务管理工具,但在网上找了很多都找不到合适的工具。市面上的大多数产品过于强调任务完成性,给我带来了很强的心理压力,这种压力最终反而降低了我的工作效率。于是我决定自己动手&#xff0…

VUE3项目VITE打包优化

VUE3项目VITE打包优化 代码加密依赖配置效果对比图 自动导入依赖配置 代码压缩依赖配置效果对比图 图片压缩依赖配置效果对比图 字体压缩总结与实践运用效果 代码加密 依赖 npm install -D vite-plugin-bundle-obfuscator配置 import vitePluginBundleObfuscator from "…

文章记单词 | 第14篇(六级)

一,单词释义 affection:n. 喜爱,钟爱;爱慕之情;感情stream:n. 小河,溪流;一连串,源源不断;水流,气流;vi. 流,流动&#x…

欧几里得距离(Euclidean Distance)公式

欧几里得距离公式 欧几里得距离(Euclidean Distance)是计算两点之间直线距离的一种方法。它是最常见的距离度量方式之一,广泛应用于数学、物理、机器学习、计算机视觉等领域。 公式定义 1. 二维空间 在二维平面上,假设有两个点…

机器学习——LightGBM

LightGBM(light gradient boosting machine,轻量梯度提升机)是对XGBoost进行改进的模型版本,其三者之间的演变关系为:GBDT-》XGBoost-》LightGBM,依次对性能进行优化,尽管XGBoost已经很高效了,但是仍然有缺…

内网服务器无法通过公网地址访问映射到公网的内网服务

内网服务器无法通过公网地址访问映射到公网的内网服务 问题现象问题原因解决方法总结 前几天遇到一个网络问题,在这里做下记录,希望能帮助到有相同问题的朋友。 问题现象 网络拓扑如上所示,服务器1和服务器2在同一内网,网段均为1…