修图神器—超简单实现华为HMS ML Kit图像超分辨率
前言
不知道大家有沒(méi)有遇到這樣的情況,圖片壓縮接收下載后清晰度驟降,畫(huà)質(zhì)模糊,更不用說(shuō)放大瀏覽了。最近小編就遇到了啊,收到朋友發(fā)送的旅游合照壓縮包,打開(kāi)后,OMG,這昏暗的場(chǎng)景、黑黑的人像、模糊的畫(huà)面,怎么讓我發(fā)朋友圈炫耀。無(wú)奈只能上網(wǎng)求助,還真讓我發(fā)現(xiàn)了一款超好用、操作簡(jiǎn)單的華為HMS ML Kit圖像超分辨率,重點(diǎn)是這個(gè)SDK完全免費(fèi)、適用于各種Android機(jī)型。
背景介紹
華為HMS ML Kit圖像超分辨率基于深度神經(jīng)網(wǎng)絡(luò),提供了可適用于移動(dòng)端的1x和3x超分能力。1x超分去除壓縮噪聲,3x超分在抑制壓縮噪聲的同時(shí),提供3倍放大能力。簡(jiǎn)單通俗的說(shuō),華為圖像超分辨率提供1x和3x兩種服務(wù),1x超分不改變圖片尺寸,但提高圖片的清晰度,提供更加逼真、自然的視覺(jué)體驗(yàn),3x超分是將圖像的邊長(zhǎng)放大3倍,像素放大9倍,分辨率更高,得到更清晰的細(xì)節(jié)紋理。
相關(guān)場(chǎng)景
圖像超分辨率廣泛應(yīng)用于實(shí)際生活中各種場(chǎng)景(綠植、美食、人像、風(fēng)景等圖片),不僅僅只是優(yōu)化人臉和文字場(chǎng)景。例如,購(gòu)物類APP集成該服務(wù),用戶放大商品圖片時(shí),經(jīng)過(guò)ML Kit 圖像超分3x功能,可獲得更清晰的商品細(xì)節(jié)。新聞閱讀類APP集成該服務(wù),用戶可以在圖片分辨率不變的情況下,通過(guò)1x超分功能得到更清晰的圖片。拍照類APP集成該服務(wù),用戶拍攝圖片時(shí),經(jīng)過(guò)圖像超分功能獲得更逼真、更自然的圖片。
開(kāi)發(fā)實(shí)戰(zhàn)
1. 開(kāi)發(fā)準(zhǔn)備
在開(kāi)始API開(kāi)發(fā)工作之前,您需要完成必要的開(kāi)發(fā)準(zhǔn)備工作,同時(shí)請(qǐng)確保您的工程中已經(jīng) 配置HMS Core SDK的Maven倉(cāng)地址,并且完成了本服務(wù)的SDK集成。
相關(guān)步驟可以參考華為開(kāi)發(fā)者聯(lián)盟:
https://developer.huawei.com/consumer/cn/doc/development/HMS-Guides/ml-process-4
1.1 項(xiàng)目級(jí)gradle里配置Maven倉(cāng)地址
buildscript {repositories {...maven {url 'https://developer.huawei.com/repo/'}} }dependencies {...classpath 'com.huawei.agconnect:agcp:1.3.1.300'} allprojects {repositories {...maven {url 'https://developer.huawei.com/repo/'}} }1.2 應(yīng)用級(jí)gradle里配置SDK依賴
dependencies{ // 引入集合包。implementation 'com.huawei.hms:ml-computer-vision-imageSuperResolution:2.0.2.300'implementation 'com.huawei.hms:ml-computer-vision-imageSuperResolution-model:2.0.2.300' }注意:
使用圖像超分辨率服務(wù),您需要在應(yīng)用的build.gradle配置文件中設(shè)置targetSdkVersion小于29。
1.3 在文件頭添加配置
apply plugin: 'com.android.application' apply plugin: 'com.huawei.agconnect'1.4 添加如下語(yǔ)句到AndroidManifest.xml文件中,自動(dòng)更新機(jī)器學(xué)習(xí)模型到設(shè)備
<meta-data android:name="com.huawei.hms.ml.DEPENDENCY"android:value= "livenessdetection"/>1.5 讀取本地文件權(quán)限
<!--讀權(quán)限--> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />2.開(kāi)發(fā)步驟
2.1 創(chuàng)建圖像超分辨率分析器。
可以通過(guò)自定義參數(shù)類MLImageSuperResolutionAnalyzerSetting創(chuàng)建分析器。
// 方式1:使用默認(rèn)的參數(shù)配置即1x超分。 MLImageSuperResolutionAnalyzer analyzer = MLImageSuperResolutionAnalyzerFactory.getInstance() .getImageSuperResolutionAnalyzer(); // 方式2:使用自定義的參數(shù)配置,當(dāng)前僅支持1x超分,后續(xù)可擴(kuò)展。 MLImageSuperResolutionAnalyzerSetting settings = new MLImageSuperResolutionAnalyzerSetting .Factory() // 設(shè)置圖像超分辨率倍數(shù)1x setScale(MLImageSuperResolutionAnalyzerSetting.ISR_SCALE_1X) .create(); MLImageSuperResolutionAnalyzer analyzer = MLImageSuperResolutionAnalyzerFactory.getInstance() .getImageSuperResolutionAnalyzer(setting)2.2 通過(guò)android.graphics.Bitmap構(gòu)造MLFrame(注意此處的bitmap類型必須為ARGB8888,請(qǐng)注意做必要的轉(zhuǎn)換)。
// 通過(guò)bitmap創(chuàng)建MLFrame,bitmap為輸入的圖片數(shù)據(jù)。 MLFrame frame = new MLFrame.Creator().setBitmap(bitmap).create();2.3 對(duì)圖片進(jìn)行超分辨率處理
錯(cuò)誤碼信息可參見(jiàn):機(jī)器學(xué)習(xí)服務(wù)錯(cuò)誤碼
2.4 識(shí)別完成,停止分析器,釋放檢測(cè)資源。
if (analyzer != null) {analyzer.stop(); }Demo
關(guān)于圖像超分小編就介紹這么多內(nèi)容,下面是效果對(duì)比圖,展示下此功能的強(qiáng)大吧。
原圖
1x效果圖
原圖
3x效果圖
相關(guān)鏈接
華為HMS ML Kit機(jī)器學(xué)習(xí)集成文本識(shí)別、卡證識(shí)別、文本翻譯、人臉識(shí)別、語(yǔ)音識(shí)別、語(yǔ)音合成、圖片分類、圖像分割、拍照購(gòu)物等功能和服務(wù)。
大家感興趣的話,可以戳下方鏈接學(xué)習(xí):
https://developer.huawei.com/consumer/cn/doc/development/HMS-Guides/ml-introduction-4
Github源碼
更詳細(xì)的開(kāi)發(fā)指南參考華為開(kāi)發(fā)者聯(lián)盟官網(wǎng)
原文鏈接:
https://developer.huawei.com/consumer/cn/forum/topicview?tid=0202348901052600500&fid=18
作者:留下落葉
總結(jié)
以上是生活随笔為你收集整理的修图神器—超简单实现华为HMS ML Kit图像超分辨率的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java调天气接口
- 下一篇: 干货下载 | 数据管理国家标准DCMM、