深圳QM体验论坛_小姐威客网楼风论坛_无锡4197龙凤论坛_一品阁茶楼论坛官网入口

您当前的位置: 首页 >> 电娱要闻

基于RK3576开发板的OCR文字识别算法

作者:河北添盾电子交流圈电子网 日期:2025-05-09 点击数:42

1. OCR笔墨辨认简介

笔墨辨认也是图象范畴一个罕见成绩。但是,关于天然场景图象,起首要定位图象中的笔墨地位,然后才干停止笔墨的辨认。以是普通包括两个步调:

笔墨检测:处理的成绩是那里有笔墨,笔墨的规模有几多。

笔墨辨认:对定位好的笔墨地区停止辨认,次要处理的成绩是每一个笔墨是甚么,将图象中的笔墨地区进转化为字符疑息。

我们的OCR算法是基于CTPN+CRNN设想的。CTPN是一种笔墨检测算法,能无效的检测出庞大场景的横背散布的笔墨,是今朝比拟好的笔墨检测算法。CRNN算法次要用于端到端天对没有定少的文本序列停止辨认,不必先对单个笔墨停止切割,而是将文本辨认转化为时序依靠的序列进修成绩,便是基于图象的序列辨认。

基于EASY-EAI-Orin-nano硬件主板的运转效力:

算法品种 模子巨细 运转效力
笔墨检测算法 3.31MB 37ms
笔墨辨认算法 6.19MB 3ms

2. 疾速上脚

假如您初度浏览此文档,请浏览:《进门指北/源码治理及编程引见/源码工程治理》,按需治理本人工程源码(注:此文档必看,并倡议采取【近程挂载治理】体例,不然有代码丧失风险!?。。?。

2.1 开源码工程下载

先正在PC实拟机定位到nfs效劳目次,再正在目次中创立寄存源码堆栈的治理目次:

cd ~/nfsroot
mkdir GitHub
cd GitHub

再经过git东西,正在治理目次内克隆近程堆栈(需求装备能对中网停止拜访)

git clone https://github.com/EASY-EAI/EASY-EAI-Toolkit-3576.git
wKgZPGgcCpWAPmWOAAFJlZ-Xh3k614.png

注:

* 此处能够会果收集缘由形成卡顿,请耐烦等候。

* 假如真实要正在gitHub网页高低载,也要把全部堆栈下载上去,不克不及独自下载本真例对应的目次。

2.2 开辟情况拆建

经过adb shell进进板卡开辟情况,以下图所示。

wKgZO2gcCpWADCYhAAC554P6NFE403.png

经过以下号令,把nfs目次挂载上nfs效劳器。

mount -t nfs -o nolock : /home/orin-nano/Desktop/nfs/
wKgZPGgcCpaAeWuoAAD8wWi-yWg276.png

2.3 例程编译

然后定位到板卡的nfs的挂载目次(依照实践挂载目次),进进到对应的例程目次履行编译操纵,详细号令以下所示:

cd EASY-EAI-Toolkit-3576/Demos/algorithm-ocr/
./build.sh
wKgZO2gcCpaARon-AAFi6Caoj7A860.png

2.4 模子摆设

要完成算法Demo的履行,需求先下载法模子。

百度网盘链接为:https://pan.百度.com/s/1g4kpLTgMnYm1xop9LFeMIw?pwd=1234 (提与码:1234 )。

wKgZPGgcCpaAHpB4AAA07vf6mR4257.png

同时需求把下载的检测模子战辨认模子复造粘揭到Release/目次:

wKgZO2gcCpaAfjwbAABfvAeEDoQ199.png

2.5 例程运转及结果

进进开辟板Release目次,履行下圆号令,运转示例顺序:

cd Release/
./test-ocr test.jpg

运转例程号令以下所示:

wKgZPGgcCpaAPIlEAAMgujgnozY569.png

后果图片以下所示:

wKgZO2gcCpeAGQClAAEkuy9pDjk591.jpg

API的具体阐明,和API的挪用(本例程源码),具体疑息睹下圆阐明。

3. OCR笔墨辨认API阐明

3.1 援用体例

为便利客户正在当地工程中间接挪用我们的EASY EAI api库,此处列收工程中需求链接的库和头文件等,便利用户间接增加。

选项 描绘
头文件目次 easyeai-api/algorithm/ocr
库文件目次 easyeai-api/algorithm/ocr
库链接参数 -locr

3.2 OCR检测初初化函数

设置OCR检测初初化函数本型以下所示。

int ocr_det_init(const char* model_path, rknn_app_context_t* app_ctx);

详细引见以下所示。

函数名: ocr_det_init
头文件 ocr.h
输出参数 model_path:算法模子名字/途径
输出参数 app_ctx:算法模子句柄
前往值 胜利前往:0
掉败前往:-1
留意事项

3.3 OCR检测运转函数

设置OCR检测运转本型以下所示。

int ocr_det_run(rknn_app_context_t* app_ctx, cv::Mat input_image, ocr_det_postprocess_params* params, ocr_det_result* out_result);

详细引见以下所示。

函数名:ocr_det_run
头文件 ocr.h
输出参数 app_ctx:算法模子句柄
输出参数 input_image:Cv::Mat输出图象
输出参数 params:ocr检测算法参数
输入参数 out_result:前往后果
前往值 胜利前往:0
掉败前往:-1
留意事项

3.4 OCR检测开释函数

设置OCR检测开释本型以下所示。

int ocr_det_release(rknn_app_context_t* app_ctx);

详细引见以下所示。

函数名:ocr_det_release
头文件 ocr.h
输出参数 app_ctx:算法模子句柄
前往值 胜利前往:0
掉败前往:-1
留意事项

3.5 OCR辨认初初化函数

OCR辨认初初化函数本型以下所示。

int ocr_rec_init(const char* model_path, rknn_app_context_t* app_ctx);

详细引见以下所示。

函数名:ocr_rec_init
头文件 ocr.h
输出参数 model_path:算法模子名字/途径
输出参数 app_ctx:算法模子句柄
前往值 胜利前往:0
掉败前往:-1
留意事项

3.6 OCR辨认运转函数

OCR辨认运转函数本型以下所示。

int ocr_rec_run(rknn_app_context_t* app_ctx, cv::Mat input_image, ocr_rec_result* out_result);

详细引见以下所示。

函数名:ocr_rec_run
头文件 ocr.h
输出参数 app_ctx:算法模子句柄
输出参数 input_image:输出图象
输入参数 out_result:前往后果
前往值 胜利前往:0
掉败前往:-1
留意事项

3.7 OCR辨认开释函数

OCR辨认开释函数本型以下所示。

int ocr_rec_release(rknn_app_context_t* app_ctx);

详细引见以下所示。

函数名:ocr_rec_release
头文件 ocr.h
输出参数 app_ctx:算法模子句柄
前往值 胜利前往:0
掉败前往:-1
留意事项

4. OCR检测算法规程

例程目次为Demos/algorithm-ocr/test-ocr.cpp,操纵流程以下。

wKgZPGgcCpeAakeIAABD0JksQWc004.png

#include 
#include 
#include 
#include"ocr.h"

using namespace cv;
using namespace std;

#define INDENT "    "
#define THRESHOLD 0.3 // pixel score threshold
#define BOX_THRESHOLD 0.9 // box score threshold
#define USE_DILATION false // whether to do dilation, true or false
#define DB_UNCLIP_RATIO 1.5 // unclip ratio for poly type

int main(int argc, char **argv)
{
	if (argc != 2) {
		printf("%s n", argv[0]);
		return -1;
	}
	/* 参数初初化 */
	const char *img_path = argv[1];
	Mat input_image, rgb_img;
	input_image = imread(img_path);
	if (input_image.empty()) {
		cout 

本站所有文章、数据、图片均来自网友原创提供和互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:

主站蜘蛛池模板: 兴山县| 武强县| 丹江口市| 土默特右旗| 枝江市| 德惠市| 淮滨县| 吉木乃县| 阜新| 瑞丽市| 永清县| 辉南县| 肇州县| 建瓯市| 巢湖市| 巴林右旗| 商南县| 葫芦岛市| 神农架林区| 南华县| 内乡县| 东宁县| 贵阳市| 成武县| 武城县| 黑山县| 连山| 通道| 云龙县| 读书| 阿拉尔市| 芒康县| 革吉县| 和田县| 哈密市| 聂拉木县| 安丘市| 新绛县| 建始县| 丹东市| 迁安市|