logo资料库

5-5.【Codelab】基于AI通用文字识别的图像搜索,这波操作亮了.pdf

第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
资料共29页,剩余部分请下载后查看
【Codelab】基于 AI 通用文字识别的图像搜索,这波 操作亮了 我们已经习惯了用手机拍照,记录生活的美好瞬间,但有时候面对浩如烟海的照片,想要快 速找到目标图片却显得力不从心。那么,我们能不能开发一款图像搜索工具,通过识别图片 上面的文字,匹配用户输入的关键词,帮助用户轻松精准、快速搜索到目标图像呢? 本期我们就为大家带来 HarmonyOS 基于 AI 通用文字识别和分词能力的图像搜索实操项 目。该篇 Codelab 不仅汇聚 AI 通用文字识别、AI 分词等技术,还将讲解图片适配及列表 展示、用户输入关键词、日志打印等操作,是不是很值得期待! 我们先来了解该应用的功能,用户只需在搜索框中输入关键词,系统即可在图片库中快速匹 配含有关键词的图片,并以列表形式呈现,用户还能左右滑动阅览图片。示例效果如下: 接下来,让我们梳理一遍开发要点: 1)编写布局文件 2)添加并展示图片 3)识别图片中的文字 4)提取用户输入的关键词 5)根据关键词匹配图片 6)日志打印 来源:HarmonyOS 开发者微信号 https://mp.weixin.qq.com/s/Oi06hTRUFhlK2PdftE1S7g
在正式开始敲代码之前,开发者们需要先下载安装 Huawei DevEco Studio,如果对于这个 流程不甚熟悉,可以参照官网的教程操作。 Huawei DevEco Studio 安装指南: https://developer.harmonyos.com/cn/docs/documentation/doc-guides/software_i nstall-0000001053582415 请注意:本次 Codelab 针对的是步骤拆解和重点讲解,限于篇幅原因不会展示完整代码, 首先,我们在 HUAWEI DevEco Studio 中创建一个 Phone 的 Empty Feature Ability(Java) 模板工程,我们将在这个模板中完成操作。 然后,我们熟悉一下工程的代码结构,如下图: 来源:HarmonyOS 开发者微信号 https://mp.weixin.qq.com/s/Oi06hTRUFhlK2PdftE1S7g
●provider:PictureProvider 图片适配类,获取所有图片,并将图片放到图片列表中。 ●slice:MainAbilitySlice 本示例教程主页面。 ●util:工具类 −LogUtil 是日志打印类,对 HiLog 日志进行了封装。 −WordRecognition 是通用文字识别类,对图片中的文字进行识别并保存。 来源:HarmonyOS 开发者微信号 https://mp.weixin.qq.com/s/Oi06hTRUFhlK2PdftE1S7g
−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:配置文件。 编写布局文件 Step 1 :我们在“resources>base>layout”目录下的 ability_main.xml 文件中,绘制页 面布局。 来源:HarmonyOS 开发者微信号 https://mp.weixin.qq.com/s/Oi06hTRUFhlK2PdftE1S7g
在高度方面,我们采取的是由组件内容(match_content)决定当前组件大小,宽度方面采 取的是由父布局(match_parent)决定当前组件大小,整体采取居中布局(vertical_center), 代码如下: 绘制应用名称“关键词搜索图片”
ohos:text_size="30fp" ohos:top_margin="5vp" /> 绘制“图片列表”标题 创建图片资源列表类
ohos:width="match_parent" ohos:orientation="horizontal" ohos:left_margin="5vp" ohos:right_margin="5vp" /> 绘制“请输入关键词”标题 绘制文本输入窗口
ohos:id="$+id:word_seg_text" ohos:height="match_content" ohos:width="match_parent" ohos:background_element="$graphic:background_ability_main" ohos:hint="Enter a statement." ohos:left_padding="5vp" ohos:right_padding="5vp" ohos:text_alignment="vertical_center" ohos:text_size="20fp" ohos:top_margin="5vp"/> 绘制"开始通用文字识别"按钮
分享到:
收藏