Python OCR 文字检测使用模型:读光-文字检测-DBNet行检测模型-中英-通用领域

介绍

什么是OCR?

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

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

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

行检测模型

行检测模型(Row Detection Model)是一种用于识别图像中垂直方向上排列的文本行的算法模型。在光学字符识别(OCR)领域,行检测是预处理阶段的一个重要步骤,它旨在从图像中提取出文本行,以便后续可以对每一行进行字符分割和字符识别。

行检测模型通常需要处理以下几个问题:

文本行定位、文本行分割、文本行校正、噪声消除。

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

前置条件

1、准备电脑环境(我当前用的是 4060 显卡)
2、安装环境(conda、python)
3、下载模型(通过下方链接地址下载模型)

https://www.modelscope.cn/models/iic/cv_resnet18_ocr-detection-db-line-level_damo/summary

在这里插入图片描述
在这里插入图片描述

克隆下来后。

在这里插入图片描述

from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
ocr_detection = pipeline(Tasks.ocr_detection, model='damo/cv_resnet18_ocr-detection-db-line-level_damo')
result = ocr_detection('input_image.png')
print(result)
  1. from modelscope.pipelines import pipeline
    这行代码从modelscope.pipelines模块导入了pipeline函数。pipeline函数是ModelScope提供的一个高级API,它可以用来组合和运行预训练模型,实现各种机器学习任务,如OCR检测。
  2. from modelscope.utils.constant import Tasks
    这行代码从modelscope.utils.constant模块导入了Tasks常量。Tasks是一个预定义的常量,它包含了ModelScope支持的各种任务类型,例如图像分类、文本分类、机器翻译等。通过导入Tasks,可以方便地访问这些任务类型。
  3. ocr_detection = pipeline(Tasks.ocr_detection, model='damo/cv_resnet18_ocr-detection-db-line-level_damo')
    这行代码创建了一个OCR检测的管道。pipeline函数接收两个参数:任务类型和模型名称。在这里,任务类型是Tasks.ocr_detection,表示执行OCR检测任务;模型名称是'damo/cv_resnet18_ocr-detection-db-line-level_damo',这是一个特定的OCR检测模型,由阿里巴巴的达摩院提供。
  4. result = ocr_detection('input_image.png')
    这行代码通过之前创建的OCR检测管道处理一个名为'input_image.png'的图片文件。处理的结果存储在result变量中,这个变量通常包含检测到的文本信息和其他相关数据。
  5. print(result)
    这行代码打印出result变量的内容。这通常用于调试和验证OCR检测的结果。输出会显示图片中检测到的文本行,以及可能的额外信息,如文本行的位置、置信度等。

运行结果:

在这里插入图片描述

常见问题。

缺少包:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Vue:快速上手

一、简介 Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,…

信息化教推动数字化学校建设

在数字化学校建造的过程中,许多学校都疏忽了运用这些网络科技渠道的教师和学生,一味的追求学校数字化、智能化建造,没有从根本上意识到教育信息化的出现者或者说体现者的重要性,因而,建造数字化学校,前进教…

微服务架构-聚合设计模式

微服务架构-聚合设计模式 聚合器(Aggregator)设计模式:用于将来自多个微服务的数据,聚合成一个统一的响应,提供给客户端。 聚合模式的核心思想:是使用一个聚合器服务(Aggregator Service&#…

你对仲裁裁决不服怎么办?我教你四个狠招!

你对仲裁裁决不服怎么办?我教你四个狠招! 这个标题是什么意思呢?也就是说,当你(或用人单位)向劳动仲裁委提出仲裁申请后,但劳动仲裁结果没有维护你的权益,或者你不满意,…

[STM32+HAL]LD-1501MG舵机二次开发指南

一、准备材料 核心板:STM32F407ZGT6 舵机:LD-1501MG数字舵机 控制器:24路PWM舵机控制器 二、HAL库配置 开启串口与控制器通信 三、Keil填写代码 1、Servo.c #include "Servo.h" #include "usart.h"uint8_t Message…

python内存马学习

python内存马学习 python内存马学习 python内存马学习环境搭建和复现分析payloadFlask 请求上下文管理机制bypass高版本flask内存马的利用before_request**after_request** teardown_requesterrorhandler相关例题H&NCTF 2024 ezFlask python内存马 环境搭建和复现 from fl…

离大模型落地应用最近的工程化技术(RAG)

虽然大规模语言模型(LLM)在自然语言处理(NLP)方面表现出了其强大的文本生成和理解能力,但是它们在实际应用中仍然面临一些挑战,如处理大规模知识库和实时获取最新信息的能力,并且会产生幻觉。为…

「代码厨房大揭秘:Python性能优化的烹饪秘籍!」

哈喽,我是阿佑,上篇咱们讲了 Socket 编程 —— 探索Python Socket编程,赋予你的网络应用隐形斗篷般的超能力!从基础到实战,构建安全的聊天室和HTTP服务器,成为网络世界的守护者。加入我们,一起揭…

区块链系统开发测试----链码部署开发、系统开发验证

一.检查配置环境 检查虚拟机环境,确保有正在运行的Hyperledger Fabric区块链,并且其中chaincode_basic、credit_chaincode链码可以正常调用 查看chaincode_basic、credit_chaincode链码调用 二.开发征信链码代码 基于现有征信链码,开发征信…

Niantic利用Meta Llama让数字生物栩栩如生

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

华为机考入门python3--(26)牛客26-字符串排序

分类:字符串 知识点: 字符串是否仅由字母构成 my_str.isalpha() 字母列表按小写排序 letters.sort(keylambda x: x.lower()) 题目来自【牛客】 def custom_sort(input_str):letters []non_letters []for char in input_str:if char.isalpha…

【软件工程】【23.04】p1

关键字: 软件模型、提炼、加工表达工具、通信内聚、访问依赖、边界类交互分析、RUP核心工作流、首先测试数据流、软件验证过程、CMMI过程域分类工程类; 软件工程目的、功能需求是需求的主体、结构化方法、耦合、详细设计工具、类、类图、RUP采用用例技…

鲜花门店小程序开发流程:详细教程,让你轻松掌握

想要开发一款专属于自己鲜花门店的小程序吗?不知道从何开始?别担心,本文将为你提供详细的开发流程,帮助你轻松掌握。 1. 注册登录乔拓云网并进入操作后台 首先,你需要注册并登录乔拓云网,然后进入操作后台…

Llama模型家族之使用 Supervised Fine-Tuning(SFT)微调预训练Llama 3 语言模型(三)通过web页面方式微调

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (一) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (二) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (三) 基于 LlaMA…

Amazon云计算AWS(一)

目录 一、基础存储架构Dynamo(一)Dynamo概况(二)Dynamo架构的主要技术 二、弹性计算云EC2(一)EC2的基本架构(二)EC2的关键技术(三)EC2的安全及容错机制 提供的…

Python自动化办公Excel数据处理实战指南

目录 一、引言 二、需求分析 三、技术选型 四、实战操作 数据读取 数据清洗 数据分析 数据输出 五、学习资源推荐: 六、结语 一、引言 在现代办公环境中,Excel数据处理是一项不可或缺的技能。然而,当数据量庞大、处理流程复杂时&a…

Linux文本文件管理003

★排序、去重、统计★ 1)排序 sort -n按照数值排序 -r降序排列 2)去重 uniq 过滤相邻、重复的行 -c 对重复行计数 3)统计 wc 统计文件中的字节数、单词数、行数 -l 显示行数 今天通过使用grep、awk、cut指令和上面几个选项提取文本文件…

专业渗透测试 Phpsploit-Framework(PSF)框架软件小白入门教程(八)

本系列课程,将重点讲解Phpsploit-Framework框架软件的基础使用! 本文章仅提供学习,切勿将其用于不法手段! 继续接上一篇文章内容,讲述如何进行Phpsploit-Framework软件的基础使用和二次开发。 现在,我们…

三十、openlayers官网示例解析Double click, Drag and Zoom——第二次点击鼠标拖拽缩放地图效果、取消地图双击放大事件

这篇展示了如何在地图上添加第二次按下鼠标移动鼠标实现拖拽缩放地图效果。 官网demo地址: Double click, Drag and Zoom 官网介绍文字的翻译如下: 示例比较简单,直接贴代码: const map new Map({//添加第二次点击拖拽缩放地图i…

一文了解等保2.0中IPS与IDS的差异

IPS(入侵防御系统) 入侵防御系统是一部能够监视网络或网络设备的网络资料传输行为的计算机网络安全设备,能够即时的中断、调整或隔离一些不正常或是具有伤害性的网络资料传输行为。 对异常的、可能是入侵行为的数据进行检测和报警&#xff…