HarmonyOS实战——AI通用文字识别初体验

一、功能简介

文字识别的核心技术是OCR(Optical Character Recognition,光学字符识别)。OCR是一种通过拍照、扫描等光学输入方式,把各种票据、卡证、表格、报刊、书籍等印刷品文字转化为图像信息,再利用文字识别技术将图像信息转化为计算机等设备可以使用的字符信息的技术。

HarmonyOS提供的文字识别功能在一定程度上支持文本倾斜、拍摄角度倾斜、复杂光照条件以及复杂文本背景等场景的文字识别。

二、搭建HarmonyOS环境

HarmonyOS开发环境搭建,可参照如下步骤进行:

1.安装DevEco Studio

DevEco Studio的下载链接如下:
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/software_install-0000001053582415

2.设置DevEco Studio开发环境

DevEco Studio开发环境需要依赖于网络环境,需要连接上网络才能确保工具的正常使用,可以根据如下两种情况来配置开发环境:

  • 如果可以直接访问Internet,只需进行下载HarmonyOS SDK操作。
  • 如果网络不能直接访问Internet,需要通过代理服务器才可以访问,请参考配置开发环境

三、代码结构解析

基于AI的通用文字识别示例教程主要内容包括:图片列表展示、输入文本、分词、通用文字识别、结果展示等功能。DevEco Studio工程代码结构如下:
在这里插入图片描述

  • provider:PictureProvider图片适配类,获取所有图片,并将图片放到图片列表中。
  • slice:MainAbilitySlice本示例教程主页面。
  • util:工具类
    • LogUtil是日志打印类,对HiLog日志进行了封装。
    • WordRecognition是通用文字识别类,对图片中的文字进行识别并保存。
    • WordSegment是分词类,对输入文本进行分词。
  • MainAbility:主程序入口,DevEco Studio生成,未添加逻辑,不需变更。
  • MyApplication:DevEco Studio生成,不需变更。
  • resources:存放工程使用到的资源文件
    • resources\base\element中存放DevEco studio自动生成的配置文件string.json,不用变更。
      resources\base\graphic中存放页面样式文件:
      background_ability_page.xml用于设置界面背景颜色。
      background_ability_main.xml用于设置界面布局样式。
      button_element.xml用于设置按钮样式。
    • resources\base\layout中布局文件:
      ability_main.xml用于展示图片和输入文本。
      item_image_layout.xml用于设置图片滑动区域图片。
    • resources\base\media下存放图片资源(本教程使用了8张.jpg图片,开发者自行准备;icon.png由DevEco Studio生成不需变更)。
  • config.json:配置文件。

四、代码实践

1.添加并展示图片

首先在"resources\base\media"目录下添加8张jpg图片(分别命名为1-8.jpg),并加载图片id数组,代码如下:

private int[] pictureLists = new int[]{
   ResourceTable.Media_1, ResourceTable.Media_2, 
ResourceTable.Media_3, ResourceTable.Media_4, ResourceTable.Media_5, 
ResourceTable.Media_6, ResourceTable.Media_7, ResourceTable.Media_8};

接着获取图片id数组和MainAbilitySlice对象,代码如下:

public PictureProvider(int[] pictureLists, Context context) {
    
	this.pictureLists = pictureLists; 
	this.context = context; 
}

定义ViewHolder类,用于列表中展示图片,代码如下:

private static class ViewHolder {
    
	Image image; 
}

最后将图片到页面,代码如下:

@Override 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.郑先生_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值