超简单集成HMS ML Kit文字超分能力,一键提升文本分辨率
前言
大家有没有遇到过这种情况,在浏览微博或者公众号时看到一段有趣的文字,于是截图发到朋友圈想和好友分享。但是在发布图片时,软件会对图片强制进行压缩,导致图片分辨率下降,文字变得模糊难以阅读。那么有没有什么办法可以解决这种情况呢?当然有啦。华为HMS ML Kit提供了文字超分技术,可以突破图像中文本分辨率的物理限制,对包含文字内容的图像进行9倍放大(长宽各放大3倍),同时显著增强图像中文字的清晰度和可辨识度,轻松解决图片中文字分辨率低的问题。
应用场景
文字超分技术在生活中有很多的应用场景,比如刚刚提到朋友圈发布的截图被压缩时,文字超分技术可以把截图还原到高清晰度。



或者是在文档翻拍时,因为距离远、未聚焦等原因,导致拍摄的文字不清晰。文字超分技术可以提高翻拍文档的清晰度和可辨识度,让文档中的字变得清晰。


怎么样,是不是很实用?下面给大家简单介绍如何集成HMS ML Kit文字超分服务。
开发实战
1. 配置Maven仓地址
1.1 打开Android Studio项目级“build.gradle”文件

1.2 添加HUAWEI agcp插件以及Maven代码库。
在allprojects ->repositories里面配置HMS Core SDK的Maven仓地址。
allprojects {
repositories {
google()
jcenter()
maven {url 'https://developer.huawei.com/repo/'}
}
}
在buildscript->repositories里面配置HMS Core SDK的Maven仓地址。
buildscript {
repositories {
google()
jcenter()
maven {url 'https://developer.huawei.com/repo/'}
}
}
2. 集成文字图像超分辨率服务SDK
2.1 Full SDK方式集成(推荐使用)
dependencies{
// 引入基础SDK
Implementation 'com.huawei.hms:ml-computer-vision-textimagesuperresolution:2.0.3.300'
// 引入文字图像超分辨率模型包
implementation 'com.huawei.hms:ml-computer-vision-textimagesuperresolution-model:2.0.3.300'
}
2.2 文件头添加配置
apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'
2.3 更新机器学习模型
<meta-data
android:name="com.huawei.hms.ml.DEPENDENCY"
android:value= "tisr"/>
3. 代码开发
3.1 创建文字图像超分辨率分析器
MLTextImageSuperResolutionAnalyzer analyzer = MLTextImageSuperResolutionAnalyzerFactory.getInstance().getTextImageSuperResolutionAnalyzer();
3.2 通过android.graphics.Bitmap构造MLFrame(注意此处的bitmap类型必须为ARGB8888,请注意做必要的转换)
// 通过bitmap创建MLFrame,bitmap为输入的图片数据。
MLFrame frame = new MLFrame.Creator().setBitmap(bitmap).create();
3.3 对包含文字的图片进行超分辨率处理
Task<MLTextImageSuperResolutionResult> task = analyzer.asyncAnalyseFrame(frame);
task.addOnSuccessListener(new OnSuccessListener<MLTextImageSuperResolutionResult>() {
public void onSuccess(MLTextImageSuperResolutionResult result) {
// 超分成功的处理逻辑。
}})
.addOnFailureListener(new OnFailureListener() {
public void onFailure(Exception e) {
// 超分失败的处理逻辑。
if (e instanceof MLException) {
MLException mlException = (MLException)e;
// 获取错误码,开发者可以对错误码进行处理,根据错误码进行差异化的页面提示。
int errorCode = mlException.getErrCode();
// 获取报错信息,开发者可以结合错误码,快速定位问题。
String errorMessage = mlException.getMessage();
} else {
// 其他异常。
}
});
3.4 超分完成,停止分析器,释放检测资源
if (analyzer != null) {
analyzer.stop();
}
Github地址
更详细的开发指南参考华为开发者联盟官网
https://developer.huawei.com/consumer/cn/hms/huawei-mlkit
欲了解更多详情,请参阅:
华为开发者联盟官网:https://developer.huawei.com/consumer/cn/hms
获取开发指导文档:https://developer.huawei.com/consumer/cn/doc/development
参与开发者讨论请到Reddit社区:https://www.reddit.com/r/HMSCore/
下载demo和示例代码请到Github:https://github.com/HMS-Core
解决集成问题请到Stack Overflow:https://stackoverflow.com/questions/tagged/huawei-mobile-services?tab=Newest
原文链接:
https://developer.huawei.com/consumer/cn/forum/topicview?tid=0203349782674210504&fid=18
作者:留下落叶
超简单集成HMS ML Kit文字超分能力,一键提升文本分辨率的更多相关文章
- 超简单集成 HMS ML Kit 实现最大脸微笑抓拍
前言 如果大家对 HMS ML Kit 人脸检测功能有所了解,相信已经动手调用我们提供的接口编写自己的 APP 啦.目前就有小伙伴在调用接口的过程中反馈,不太清楚 HMS ML Kit 文档中的 ML ...
- Android | 超简单集成HMS ML Kit实现最大脸微笑抓拍
前言 如果大家对HMS ML Kit 人脸检测功能有所了解,相信已经动手调用我们提供的接口编写自己的APP啦.目前就有小伙伴在调用接口的过程中反馈,不太清楚HMS ML Kit 文档中的MLMax ...
- 超简单集成HMS Scan Kit扫码SDK,轻松实现扫码购
前言 在前面的文章中,我们向大家介绍了HMS Scan Kit 的快速集成方法以及HMS Scan Kit和其他开源扫码工具的竞争力对比分析,如果没有看到也没关系,文章下方的往期链接中有文章入口. ...
- 超简单集成ML kit 实现听写单词播报
背景 相信我们大家在刚开始学习一门语言的时候都有过听写,现在的小学生学语文的时候一项重要的课后作业就是听写课文中的生词,很多家长们都有这方面的经历.不过一方面这种读单词的动作相对简单,另一方面家长 ...
- 超简单集成华为HMS ML Kit文本识别SDK,一键实现账单号自动录入
前言 在之前的文章<超简单集成华为HMS Core MLKit通用卡证识别SDK,一键实现各种卡绑定>中我们给大家介绍了华为HMS ML Kit通用卡证识别技术是如何通过拍照自动识别卡 ...
- 超简单集成华为 HMS MLKit 机器学习服务:银行卡识别 SDK,一键实现银行卡绑定
前言 小编前面几期文章分别给大家介绍了使用 HMS ML Kit SDK 实现微笑抓拍.证件照 DIY.拍照翻译的功能开发(链接见文章末尾),本次小编给大家带来的是使用 HMS 机器学习服务(ML K ...
- 用华为HMS ML kit人体骨骼识别技术,Android快速实现人体姿势动作抓拍
你有没有过这种体验,拍照时对着镜头,脑子一片空白.表情僵硬.手和脚无处安放,最后拍出来的照片很是奇怪.拍照软件中的固定姿势抓拍功能可以帮助你:选择一个你想要的姿势模板,当你摆出同款姿势时,软件会进 ...
- 超简单 Promise封装小程序ajax 超好用 以及封装登录
//网络类 //封装网络请求 const ajax = (ajaxData, method) => { wx.showLoading({ title: '加载中', mask: true }); ...
- 华为在HDC2021发布全新HMS Core 6 宣布跨OS能力开放
[2021年10月22日·东莞]华为开发者大会 2021(Together)于今天正式开幕,华为在主题演讲中正式发布全新的HMS Core 6,向全球开发者开放7大领域的69个Kit和21,738个A ...
随机推荐
- openstack (共享组件) 时间同步服务
云计算openstack共享组件——时间同步服务ntp(2) 一.标准时间讲解 地球分为东西十二个区域,共计 24 个时区 格林威治作为全球标准时间即 (GMT 时间 ),东时区以格林威治时区进行 ...
- Vue elelment登录验证 简单版
http.js import axios from 'axios' import { Message, Loading } from 'element-ui'; import router from ...
- 阿里云mysql安装
阿里云上安装mysql还是遇到些问题,感觉不是傻瓜式一键安装,还是写个帖子以后看 1.安装 https://yq.aliyun.com/articles/47237 启动mysql的时候报了问题 My ...
- python 第二节课内容和练习
一.列表 []表示列表,用','进行分隔,list有序 能够进行索引 切片 (in append extend count index insert pop remove,reverse sort c ...
- Springboot+Vue实现仿百度搜索自动提示框匹配查询功能
案例功能效果图 前端初始页面 输入搜索信息页面 点击查询结果页面 环境介绍 前端:vue 后端:springboot jdk:1.8及以上 数据库:mysql 核心代码介绍 TypeCtrler .j ...
- zabbix安装要求
zabbix server 和 zabbix Agent都在一个压缩包中,可以从官网上下载源码包,www.zabbix.com/download.php zabbix是C语言编写,压缩包的文件夹介绍: ...
- Kafka和RocketMQ底层存储之那些你不知道的事
大家好,我是yes. 我们都知道 RocketMQ 和 Kafka 消息都是存在磁盘中的,那为什么消息存磁盘读写还可以这么快?有没有做了什么优化?都是存磁盘它们两者的实现之间有什么区别么?各自有什么优 ...
- iNeuOS工业互联平台,在“智慧”楼宇、园区等领域的应用
目 录 1. 概述... 1 2. 平台演示... 2 3. 硬件网关... 2 4. 平台接入硬件网关... 4 1. 概述 " ...
- Python 自动化测试全攻略:五种自动化测试模型实战详解
随着移动互联网的发展,软件研发模型逐步完善,软件交付质量越来越受到软件公司的重视,软件测试技术特别是自动化测试技术开始在软件系统研发过程中发挥着越来越重要的作用. 与传统的手工测试技术相比,自动化测试 ...
- JavaScript动态生成表格
要求: HTML标签只写一行表头 通过JS来写动态的表格(有多少组数据,就自动创建多少行表格) 为学习和演示,采用固定的数据,不涉及调用后台数据 代码实现: HTML内容: <table cel ...