当前位置: 首页 > news >正文

简化文本处理流程,通用文字识别助力提升信息采集效率

随着信息技术的发展、移动设备使用的普及和全球化的商业需求,非结构化数据转换为结构化数据的需求日益增长,数字化成为信息存储和管理的主流趋势。在此背景下,OCR技术应运而生,该技术可以将图像中文本信息转化为计算机等设备可以使用的字符信息,成为现代信息处理的关键技术。

OCR技术丰富了移动设备的文本处理能力,自动化文档处理,减少手动输入,为用户提供了多样化的便捷服务,大幅提升效率,成为App中不可或缺的功能。用户可以通过简单的扫描将文档转换为电子文本,拍照获取及时外语翻译,自动提取证件信息以简化验证流程等。

HarmonyOS SDK 基础视觉服务(Core Vision Kit)提供了通用文字识别能力,该能力支持特定角度范围内的文本倾斜、拍摄角度倾斜、复杂光照条件以及复杂文本背景等场景的文字识别。目前支持中、英等10+语种的识别。

适用场景

适用于票据、卡证、表格、报刊、书籍等的图像文字识别。

支持文档翻拍和街景翻拍的文字检测与识别。

可集成至其他应用,扩展文字检测、识别功能,并基于识别结果提供翻译、搜索服务。

功能演示

开发步骤

1.在使用通用文字识别时,将实现文字识别的相关的类添加至工程。

import { textRecognition } from '@kit.CoreVisionKit';

2.通过图库获取图片资源,将图片转换为PixelMap。

private async selectImage() {let uri = await this.openPhoto();if (uri === undefined) {hilog.error(0x0000, 'OCRDemo', "Failed to get uri.");return;}this.loadImage(uri);
}private openPhoto(): Promise<string> {return new Promise<string>((resolve, reject) => {let photoPicker = new picker.PhotoViewPicker();photoPicker.select({MIMEType: picker.PhotoViewMIMETypes.IMAGE_TYPE,maxSelectNumber: 1}).then((res: picker.PhotoSelectResult) => {resolve(res.photoUris[0]);}).catch((err: BusinessError) => {hilog.error(0x0000, 'OCRDemo', `Failed to get photo image uri. code:${err.code},message:${err.message}`);resolve('');})})
}private loadImage(name: string) {setTimeout(async () => {let imageSource: image.ImageSource | undefined = undefined;let fileSource = await fileIo.open(name, fileIo.OpenMode.READ_ONLY);imageSource = image.createImageSource(fileSource.fd);this.chooseImage = await imageSource.createPixelMap();}, 100)
}

3.实例化VisionInfo对象,并传入待检测图片的PixelMap。

VisionInfo为待OCR检测识别的入参项,目前仅支持PixelMap类型的视觉信息。

let visionInfo: textRecognition.VisionInfo = {pixelMap: this.chooseImage
};

4.配置通用文本识别的配置项TextRecognitionConfiguration,用于配置是否支持朝向检测。

let textConfiguration: textRecognition.TextRecognitionConfiguration = {isDirectionDetectionSupported: false
};

5.调用textRecognition的recognizeText接口,对识别到的结果进行处理。

当调用成功时,返回结果码0;调用失败时,将返回对应错误码。

recognizeText接口提供了三种调用形式,当前以其中一种作为示例,其他方式可参考API文档。

textRecognition.recognizeText(visionInfo, textConfiguration, (error: BusinessError, data: textRecognition.TextRecognitionResult) => {if (error.code !== 0) {hilog.error(0x0000, 'OCRDemo', `Failed to recognize text. Code: ${error.code}, message: ${error.message}`);return;}// 识别成功,获取对应的结果let recognitionString = JSON.stringify(data);hilog.info(0x0000, 'OCRDemo', `Succeeded in recognizing text:${recognitionString}`);// 将结果更新到Text中显示this.dataValues = data.value;if(this.chooseImage && this.imageSource) {this.chooseImage.release();this.imageSource.release();}
});

了解更多详情>>

访问基础视觉服务联盟官网

获取通用文字识别服务开发指导文档

相关文章:

简化文本处理流程,通用文字识别助力提升信息采集效率

随着信息技术的发展、移动设备使用的普及和全球化的商业需求&#xff0c;非结构化数据转换为结构化数据的需求日益增长&#xff0c;数字化成为信息存储和管理的主流趋势。在此背景下&#xff0c;OCR技术应运而生&#xff0c;该技术可以将图像中文本信息转化为计算机等设备可以使…...

【网络】TCP协议通信的重要策略——滑动窗口,快重传,流量控制,拥塞控制,延时应答

目录 MSS值 滑动窗口 滑动窗口与重发机制 快重传机制 滑动窗口与流量控制 滑动窗口与拥塞控制 延时应答 个人主页&#xff1a;东洛的克莱斯韦克-CSDN博客 相关文章 【网络】传输层TCP协议的报头和传输机制-CSDN博客 【网络】详解TCP协议通信时客户/服务端的状态-CSDN博…...

极狐GitLab CI/CD 如何构建镜像并推送到 azure 镜像仓库?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门面向中国程序员和企业提供企业级一体化 DevOps 平台&#xff0c;用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规&#xff0c;而且所有的操作都是在一个平台上进行&#xff0c;省事省心省钱。可以一键安装极狐GitL…...

Leetcode—1143. 最长公共子序列【中等】

2024每日刷题&#xff08;155&#xff09; Leetcode—1143. 最长公共子序列 实现代码 class Solution { public:int longestCommonSubsequence(string text1, string text2) {int m text1.length();int n text2.length();vector<vector<int>> dp(m 1, vector&…...

ZBrush笔刷介绍

根据使用的方法和效果&#xff0c;ZBrush的笔刷可以分类如下&#xff1a; 基本功能笔刷 这些笔刷用于常规的雕刻、移动和平滑操作。 纹理应用笔刷 一般需要自己额外购买的是这三种笔刷 Alpha Brushes&#xff1a;使用灰度图&#xff08;alpha&#xff09;来定义笔刷形状和纹…...

React+AntDesign做一个日历,展示节假日,节气,并且在某几个时间上添加活动备注

直接贴效果图&#x1f604; 首先日历是用的AntDesign提供的Calendar组件&#xff0c;这个组件还是蛮强大的&#xff0c;可以自定义头部时间下拉&#xff1b;渲染每个时间段&#xff0c;或者重置时间段内容&#xff0c;玩的空间是很大的 直接贴代码&#xff0c;结尾最后我会将…...

排序算法之梳排序

title: 梳排序 date: 2024-7-30 14:46:27 0800 categories: 排序算法 tags:排序算法梳排序 description: 梳排序&#xff08;Comb Sort&#xff09;是一种由弗拉基米尔多博舍维奇&#xff08;Wlodzimierz Dobosiewicz&#xff09;于1980年所发明的不稳定排序算法&#xff0c;并…...

ESP8266 创建TCP连接

TCP Client 使用WiFiClient类可以实现TCP Client 基本方法 连接Server&#xff0c;connect WiFiClient client; client.connect(host, port) 检测客户端是否存在数据流 client.available() 读取客户端的一个字符 client.read(); 检查连接状态 client.connected() 使用…...

OceanBase内存管理小窍门

本文来自OceanBase热心用户的实践分享。 本文主要是对OceanBase内存管理的实用技巧分享&#xff0c;而并非直接深入OceanBase的代码层面进行阐述。​​​​​​​ 阅读本文章你将了解&#xff1a; 重载运算符new 与malloc在返回值上区别&#xff1f;在ceph 双向链表新用法&am…...

【问题解决】git status中文文件名乱码

问题复现 解决办法 在git bash中直接执行如下命令 git config --global core.quotepath false原因 通过 git config --help 可以查看到以下内容&#xff1a; core.quotePath Commands that output paths (e.g. ls-files, diff), will quote “unusual” characters in the p…...

探索数据结构:AVL树的分析与实现

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;数据结构与算法 贝蒂的主页&#xff1a;Betty’s blog 1. AVL树的介绍 在前面我们学习二叉搜索树时知道&#xff0c;在数据有序…...

使用 C++ 实现简单的插件系统

使用 C 实现简单的插件系统 在现代软件开发中&#xff0c;插件系统是一种常见的架构模式&#xff0c;它允许开发者在不修改主程序的情况下&#xff0c;扩展应用程序的功能。通过插件&#xff0c;用户可以根据需要添加或移除功能模块&#xff0c;从而提高软件的灵活性和可维护性…...

使用Python创建省份城市地图选择器

在这篇博客中&#xff0c;我们将探讨如何使用Python创建一个简单而实用的省份城市地图选择器。这个项目不仅能帮助我们学习Python的基础知识&#xff0c;还能让我们了解如何处理JSON数据和集成网页浏览器到桌面应用程序中。 C:\pythoncode\new\geographicgooglemap.py 全部代码…...

【Java 数据结构】Stack和Queue介绍

Stack和Queue StackStack是什么Stack的使用构造方法常用方法 栈的模拟实现初始化和基本方法入栈出栈查看栈顶 栈的应用链栈的简单介绍 QueueQueue是什么Queue的使用队列的模拟实现初始化入队出队查看队头元素 循环队列循环队列的定义及其注意点循环队列的实现初始化和基本方法获…...

Docker基本语法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、更新yum镜像仓库&#xff08;一&#xff09;查看本地yum镜像源地址&#xff08;二&#xff09;设置docker的镜像仓库&#xff08;1&#xff09;安装必要工具…...

uniapp 对于scroll-view滑动和页面滑动的联动处理

需求 遇到一个需求 解决方案 这个时候可以做一个内页面滑动判断 <!-- scroll-y 做true或者false的判断是否滑动 --> <view class"u-menu-wrap" style"background-color: #fff;"><scroll-view :scroll-y"data.isGo" scroll-wit…...

opencv基础的图像操作

1.读取图像&#xff0c;显示图像&#xff0c;保存图像 #图像读取、显示与保存 import numpy as np import cv2 imgcv2.imread(./src/1.jpg) #读取 cv2.imshow("img",img) #显示 cv2.imwrite("./src/2.jpg",img) #保存 cv2.waitKey(0) #让程序进入主循环(让…...

Java | Leetcode Java题解之第337题打家劫舍III

题目&#xff1a; 题解&#xff1a; class Solution {public int rob(TreeNode root) {int[] rootStatus dfs(root);return Math.max(rootStatus[0], rootStatus[1]);}public int[] dfs(TreeNode node) {if (node null) {return new int[]{0, 0};}int[] l dfs(node.left);i…...

本地查看的Git远程仓库分支与远程仓库分支数量不一致

说明&#xff1a;一次&#xff0c;在IDEA中想切换到某分支&#xff0c;但是查看Remote没有找到要切换的分支&#xff0c;但是打开GitLab&#xff0c;查看远程仓库&#xff0c;是有这个分支的。 解决&#xff1a;1&#xff09;在IDEA的Git中&#xff0c;点下面Fatch获取一下远程…...

opencv-python实战项目九:基于拉普拉斯金字塔的图像融合

文章目录 一&#xff0c;简介&#xff1a;二&#xff0c;拉普拉斯金字塔介绍&#xff1a;三&#xff0c;算法实现步骤3.1 构建融合拉普拉斯金字塔3.2 融合后的拉普拉斯金字塔复原&#xff1a; 四&#xff0c;整体代码实现&#xff1a;五&#xff0c;效果&#xff1a; 一&#x…...

图像处理核心技术:分辨率、信噪比与形态学算法解析

1. 图像处理基础概念解析在数字图像处理领域&#xff0c;我们经常需要面对几个核心问题&#xff1a;如何量化系统的分辨能力&#xff1f;如何评估图像质量&#xff1f;如何从噪声中提取有用信息&#xff1f;这些问题的答案构成了现代图像处理技术的理论基础。作为一名从业十余年…...

GE模型加载卸载API

模型加载和卸载 【免费下载链接】ge GE&#xff08;Graph Engine&#xff09;是面向昇腾的图编译器和执行器&#xff0c;提供了计算图优化、多流并行、内存复用和模型下沉等技术手段&#xff0c;加速模型执行效率&#xff0c;减少模型内存占用。 GE 提供对 PyTorch、TensorFlow…...

基于MCP协议的智能文档处理工具simdoc-mcp:从RAG原理到Claude集成实战

1. 项目概述&#xff1a;从“文档理解”到“智能交互”的范式跃迁最近在折腾一个挺有意思的开源项目&#xff0c;叫simdoc-mcp。乍一看这个名字&#xff0c;可能有点摸不着头脑&#xff0c;svd-ai-lab是背后的团队&#xff0c;simdoc是核心&#xff0c;mcp是关键协议。简单来说…...

【c++面向对象编程】第3篇:类与对象(二):构造函数与析构函数

目录 一、一个让人头疼的问题 二、构造函数&#xff1a;对象出生时的“第一声啼哭” 1. 最基本的构造函数 2. 带参数的构造函数&#xff08;重载&#xff09; 3. 初始化列表&#xff1a;更高效的初始化方式 三、默认构造函数&#xff1a;那个“看不见”的函数 四、析构函…...

芯片验证覆盖率:从度量陷阱到有效策略的实战解析

1. 从一篇旧文谈起&#xff1a;当“覆盖率”成为数字游戏最近在整理资料时&#xff0c;翻到一篇2013年EE Times上的老文章&#xff0c;作者Brian Bailey对当时&#xff08;甚至现在依然盛行&#xff09;的验证方法提出了尖锐的批评。文章的核心矛头直指“基于激励的覆盖率”&am…...

给Windows桌面注入macOS灵魂:鼠标指针美化的艺术之旅

给Windows桌面注入macOS灵魂&#xff1a;鼠标指针美化的艺术之旅 【免费下载链接】macOS-cursors-for-Windows Tested in Windows 10 & 11, 4K (125%, 150%, 200%). With 2 versions, 2 types and 3 different sizes! 项目地址: https://gitcode.com/gh_mirrors/ma/macOS…...

Payum实战案例:构建支持多种支付方式的电商平台完整指南 [特殊字符]

Payum实战案例&#xff1a;构建支持多种支付方式的电商平台完整指南 &#x1f680; 【免费下载链接】Payum PHP Payment processing library. It offers everything you need to work with payments: Credit card & offsite purchasing, subscriptions, payouts etc. 项目…...

仅限首批200家认证机构获取:SITS2026兼容性评估矩阵V1.2(含LLM微调知识注入适配表),错过再等18个月!

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI研发知识管理&#xff1a;SITS2026专题 在AI研发加速演进的背景下&#xff0c;知识管理正从文档归档转向语义化、可执行、可追溯的智能中枢。SITS2026&#xff08;Semantic Intelligence for Technic…...

微博图文视频批量采集软件用户手册

目录 系统介绍 安装与配置 功能使用说明 常见问题 日志查看 系统介绍 本系统是一款微博内容采集与媒体处理工具&#xff0c;主要功能包括&#xff1a; 采集微博内容&#xff08;图文、视频&#xff09; 视频裁剪与去水印 AI标题优化 文件分类保存 自动抽帧 安装与配…...

从‘//’到‘///’:解锁C#注释的正确姿势与隐藏的IDE效率技巧

从‘//’到‘///’&#xff1a;解锁C#注释的正确姿势与隐藏的IDE效率技巧 在代码的世界里&#xff0c;注释就像地图上的标记&#xff0c;不仅指引着后来的开发者理解代码的意图&#xff0c;更是开发者与未来自己对话的桥梁。对于C#开发者而言&#xff0c;注释不仅仅是简单的代…...