NET6使用PaddleOCR识别图片中的文字信息
最近发现一个开源的OCR项目,PaddleOCR,支持通过离线部署Hub Serving服务来识别和本地程序包识别。
运行环境 :Windows 10
开发工具: Visual Studio 2022
NET版本:NET6
需要安装的程序包:PaddleOCR,版本:0.0.5 。以及PaddleOCRUtf8,版本:0.0.5
刚刚开始时候使用PaddleOCR来识别,发现英文和数字可以成功识别,准确率还很高。后面发现识别中文的时候,出现中文乱码(识别模型都是用的同一个)。后面用PaddleOCRUtf8包识别,发现可以解决中文乱码的问题,如下图:
识别图片:
识别的基础代码如下:
using System.Text;
using System.Text.Json;namespace JuCheap_Demo_OCR
{internal class PaddleOCRService{//基础路径private readonly static string _basePath = AppDomain.CurrentDomain.BaseDirectory;//识别图片的路径private readonly static string _imagePath = $"{_basePath}\\id_card.jpg";private readonly string _detPath = $"{_basePath}\\PaddleModel\\ch_ppocr_server_v2.0_det_infer";private readonly string _recPath = $"{_basePath}\\PaddleModel\\ch_ppocr_server_v2.0_rec_infer";private readonly string _clsPath = $"{_basePath}\\PaddleModel\\ch_ppocr_mobile_v2.0_cls_infer";private readonly string _charListFileListPath = $"{_basePath}\\PaddleModel\\chinese_zh_dict.txt";private readonly string _fileBase64 = Convert.ToBase64String(File.ReadAllBytes(_imagePath), Base64FormattingOptions.None);/// <summary>/// PaddleOCR包本地识别/// </summary>public async Task RecognizeByPaddleOCR(){WriteOneLine();//通过本地程序包识别(英文和数字可以。中文会出现乱码)PaddleOCR.PaddleOCR.Initialize(_detPath, _recPath, _clsPath, _charListFileListPath, 4, true);var result = await PaddleOCR.PaddleOCR.Recognize(_imagePath);foreach (var box in result.Boxes){Console.WriteLine($"PaddleOCR本地包识别结果={box.Text},信任度={box.Score}");}}/// <summary>/// PaddleOCRUtf8本地识别/// </summary>public async Task RecognizeByPaddleOCRUtf8(){WriteOneLine();//解决中文乱码问题PaddleOCRUtf8.PaddleOCR.Initialize(_detPath, _recPath, _clsPath, _charListFileListPath, 4, true);var resultUtf8 = await PaddleOCRUtf8.PaddleOCR.Recognize(_imagePath);foreach (var box in resultUtf8.Boxes){Console.WriteLine($"PaddleOCRUtf8本地包识别结果={box.Text},信任度={box.Score}");}}/// <summary>/// 使用python搭建的HubServing解析服务识别/// </summary>public async Task RecognizeByHubServing(){WriteOneLine();try{//通过hub ocr_system识别var client = new HttpClient();client.BaseAddress = new Uri("http://127.0.0.1:8866/");var postData = new{images = new string[] { _fileBase64 }};var content = new StringContent(JsonSerializer.Serialize(postData), Encoding.UTF8, "application/json");var response = await client.PostAsync("predict/ocr_system", content);var responseContent = await response.Content.ReadAsStringAsync();var responseResult = JsonSerializer.Deserialize<OCRResponseDTO>(responseContent);if (responseResult != null && responseResult.Data != null){foreach (var items in responseResult.Data){foreach (var box in items){Console.WriteLine($"HubServing识别结果={box.Text},信任度={box.Confidence}");}}}}catch (Exception ex){Console.WriteLine($"Hub Serving识别异常:{ex.Message}");}WriteOneLine();}private void WriteOneLine(){Console.WriteLine($"--------------------------------------------------------------------------------------------------");}}
}
识别结果:
源代码:
https://gitee.com/jucheap/demo
里面的JuCheap-Demo-OCR项目,直接运行,可以看到效果。
总结:本地包的识别,多少会有点问题,比如:【公民身份证】没有识别完整。推荐使用Hub Serving来搭建服务识别。准确率更高。
NET6使用PaddleOCR识别图片中的文字信息相关推荐
- python怎么识别图片里面的文字并合成语音_几行代码搞定识别图片中的文字信息,同时转换成语音...
image前几天想把一篇不错的文章保存下来,无奈是图片的,于是想利用python把图片中的文字识别出来 实现的方式还是挺多的,这里介绍下百度的AI开放平台,毕竟大公司,感觉识别的精度会高点,同时相信他 ...
- C# pdf 转图片 and 创建百度AI文字识别应用(识别图片中的文字和数字)
/// <summary>/// pdf 转图片/// </summary>public static void Turnpicture(){string str = &quo ...
- python图片识别是否p过_python 基于百度aip库 实现识别图片中的文字
最终效果 1. 实现环境 win10系统 + pycharm社区版 + anaconda3 2. 实现步骤 step 1. 安装baidu-aip库 step 2. 进入百度ai官网 http://a ...
- 怎样识别图片中的文字?手机电脑都可以的
普通人过普通的生活就好,简单而平淡.而平淡的生活常常可以看到各种图片文字,毕竟遇到要记录重要的信息拍一拍就可以解决问题了,很简单的.通常情况下,我们都会再次检查相册中的关键信息,甚至有时我们还要整理出 ...
- 识别图片文字怎么弄?我来教大家怎么识别图片中的文字
有时,我们需要从图片中提取文本以进行编辑或搜索.虽然手动转录是一种选项,但这是费时费力的工作,而且容易出错.为了解决这个问题,出现了各种各样的技术和工具,可以帮助我们自动识别图片中的文字.在本文中,我 ...
- pytesseract提取识别图片中的文字
目录 1.获取tesseract版本号 2.获取语言包列表 3.识别图片中的文字 4.获取图片中文字的详细信息 5.识别图片中的文字和位置 6.识别osd信息 7.识别并生成xml文件 避坑指南: p ...
- 使用百度云识别图片中的文字(二):获取图片中的文字
使用百度云识别图片中的文字(二):获取图片中的文字 上一篇文章中提到怎样获取access_token.此篇文章就是通过access_token来识别图片中的文字. 先来看看:官方的介绍吧: 本文档主要 ...
- ai图像识别python的项目_Python3调用百度AI识别图片中的文字功能示例【测试可用】...
本文实例讲述了Python3调用百度AI识别图片中的文字功能.分享给大家供大家参考,具体如下: 首先pip install命令安装baidu-aip模块,如下图所示(这里使用pip3 install ...
- 不懂怎么识别图片中的文字?在线教你识别文字方法
我们在学习和工作中经常会遇到许多电子版.纸质版的资料和文件,但当我们需要复制这些资料的文本内容时,如果不借助识别软件,是很难快速地将它们复制粘贴出来.今天,我就来告诉大家几个简单的方法,教大家怎么识别 ...
最新文章
- Flask实战2问答平台-发布问答界面完成
- uva5984(简单计算几何)
- ubuntu linux安装控制面板,在Ubuntu 20.04上安装Ajenti控制面板的方法
- 计算机图形学真实感显示代码,计算机图形学实验 - 真实感图形场景的生成
- https://enhancer.io
- STM32那点事(4)_DMA(下)
- 对于计算机维护的,关于计算机的硬件维护
- 一:ActiveMQ知识整理
- ndk 编译 ffmpeg
- python多继承顺序及分配,python多继承的查找顺序是什么?
- 【转】阿里去IOE运动
- 浅谈C语言字符串结束符'\0'
- office+visio2016版本一同安装说明
- (2)香橙派+apache2与php+天猫精灵=自建平台语音支持--香橙派操作系统安装
- 二极管的工作原理,什么是二极管?
- python——金融商品多种均线指标综合运用模拟实现(MACD模型)
- windows下 apache配置rewrite错误解决
- 一部《再忆王家沱》讲述百年重庆历史,堪称中国版《百年孤独》
- 别把项目成功当目标!——项目经理的误区(1)(转)
- AFN的简单介绍及使用