Python OCR 文字识别使用模型:读光-文字识别-行识别模型-中英-通用领域

介绍

什么是OCR?

OCR是"Optical Character Recognition"的缩写,中文意为"光学字符识别"。它是一种技术,可以识别和转换打印在纸张或图像上的文字和字符为机器可处理的格式,如计算机文本文件。通过使用OCR技术,可以快速地将纸质文档数字化,从而使文本可以被编辑、搜索和分析。这项技术广泛应用于各种场合,如图书馆和档案馆的文献数字化、 pdf 文件的文本搜索、以及扫描文档中的条形码和二维码等。

阿里云文字识别OCR(读光OCR)

阿里云文字识别OCR(读光OCR),是一款由阿里巴巴达摩院打造的OCR产品,用于识别图片、文档、卡证等文件所包含的文字信息。

行识别模型

行识别模型是一种用于识别文本行中的字符内容的算法模型。它在光学字符识别(OCR)领域中扮演着重要的角色,专注于将文本行中的字符转换成可识别的文本。

行识别模型可以应用于各种应用场景,如自动化文档处理、车牌识别、手写体识别等,为实现自动化文本识别提供了重要的基础,有助于提高工作效率和准确性。

我们这里使用的是 "阿里云文字识别OCR(读光OCR)" 的模型放到本地来进行识别测试。

前置条件

1、准备电脑环境(我当前用的是 4060 显卡)

2、安装环境(conda、python)

3、下载模型(通过下方链接地址下载模型)

bash 复制代码
https://www.modelscope.cn/models/iic/cv_convnextTiny_ocr-recognition-general_damo/summary

克隆下来后。

python 复制代码
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

ocr_recognition = pipeline(Tasks.ocr_recognition, model='damo/cv_convnextTiny_ocr-recognition-general_damo')
img_url = 'cropped_image_1.png'
result = ocr_recognition(img_url)
print(result)
  1. from modelscope.pipelines import pipeline:从 ModelScope 库中的 pipelines 模块导入 pipeline 函数。这个函数用于创建一个模型管道,可以用来执行各种任务,如文本分类、命名实体识别、OCR 等。

  2. from modelscope.utils.constant import Tasks:从 ModelScope 库中的 utils.constant 模块导入 Tasks 常量。这个常量包含了 ModelScope 支持的不同任务类型,包括 OCR。

  3. ocr_recognition = pipeline(Tasks.ocr_recognition, model='damo/cv_convnextTiny_ocr-recognition-general_damo'):调用 pipeline 函数创建一个 OCR 识别任务的管道。Tasks.ocr_recognition 指定了这是一个 OCR 识别任务,而 'damo/cv_convnextTiny_ocr-recognition-general_damo' 则指定了使用的模型名称或者模型路径。

  4. img_url = 'cropped_image_1.png':定义一个变量 img_url,用来存储待识别的图像文件的路径或者 URL。

  5. result = ocr_recognition(img_url):调用 ocr_recognition 管道,传入待识别的图像路径,并将识别结果保存在 result 变量中。

  6. print(result):打印 OCR 识别的结果。

需要识别的图片:

运行结果:

相关推荐
985小水博一枚呀22 分钟前
【深度学习基础模型】神经图灵机(Neural Turing Machines, NTM)详细理解并附实现代码。
人工智能·python·rnn·深度学习·lstm·ntm
2401_8581205341 分钟前
Spring Boot框架下的大学生就业招聘平台
java·开发语言
转调1 小时前
每日一练:地下城游戏
开发语言·c++·算法·leetcode
Java探秘者1 小时前
Maven下载、安装与环境配置详解:从零开始搭建高效Java开发环境
java·开发语言·数据库·spring boot·spring cloud·maven·idea
2303_812044461 小时前
Bean,看到P188没看了与maven
java·开发语言
秋夫人1 小时前
idea 同一个项目不同模块如何设置不同的jdk版本
java·开发语言·intellij-idea
OCR_wintone4211 小时前
中安未来 OCR—— 开启高效驾驶证识别新时代
人工智能·汽车·ocr
不穿格子衬衫2 小时前
常用排序算法(下)
c语言·开发语言·数据结构·算法·排序算法·八大排序
萧鼎2 小时前
Python调试技巧:高效定位与修复问题
服务器·开发语言·python
wdxylb2 小时前
使用C++的OpenSSL 库实现 AES 加密和解密文件
开发语言·c++·算法