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、下载模型(通过下方链接地址下载模型)

bash 复制代码
https://www.modelscope.cn/models/iic/cv_resnet18_ocr-detection-db-line-level_damo/summary


克隆下来后。

python 复制代码
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检测的结果。输出会显示图片中检测到的文本行,以及可能的额外信息,如文本行的位置、置信度等。

运行结果:

常见问题。

缺少包:



相关推荐
WL_Aurora1 分钟前
Python 算法基础篇之堆和优先队列
python·算法
早日退休!!!2 分钟前
PyTorch适配NPU
人工智能·pytorch·python
刀法如飞11 分钟前
一款开箱即用的Flask 3.0 MVC工程脚手架,面向AI开发
后端·python·flask
xingpanvip15 分钟前
星盘接口开发文档:组合三限盘接口指南
android·开发语言·前端·python·php·lua
无忧.芙桃29 分钟前
现代C++讲解之变量模板,泛型lambda,函数返回类型推导的使用
开发语言·c++·visualstudio
格林威1 小时前
工业视觉检测:两大主流异常检测开源框架深度对比(PatchCore vs SPADE)
开发语言·人工智能·深度学习·数码相机·计算机视觉·视觉检测·工业相机
2zcode1 小时前
基于Matlab元胞自动机模拟(CA)静态再结晶过程
开发语言·matlab·静态再结晶
vortex51 小时前
Villain:新一代轻量级 C2 框架完整使用指南
python·网络安全·kali·c2
测试员周周1 小时前
【AI测试系统】第5篇:AI 编码工具抛硬币?我们用 LangGraph 做了个“确定性+AI”的测试系统(附自愈架构)
人工智能·python·功能测试·测试工具·架构·langchain·单元测试
研究点啥好呢1 小时前
滴滴Go后端开发工程师面试题精选:10道高频考题+答案解析
java·开发语言·golang