場景識別幫助小白使用者實現一鍵式智慧拍照修圖
一、前言
在手機相機功能日益強大的今天,相對於相機硬體的差異,影像處理演算法逐漸顯示出更加重要的地位。現在的消費者也開始由看重硬體能力慢慢轉向對演算法能力的重視。使用者在拍照發朋友圈之前往往需要根據場景逐個調整畫面引數,這一過程費時費力,對於小白使用者又很難調節到最佳狀態。有沒有一種方式可以精細化區分場景,實現一鍵式智慧拍照修圖呢?華為機器學習服務近期推出的場景識別支援102種細分場景的識別,對於生活旅行常見的場景諸如沙灘、藍天、美食、夜景、綠植、典型建築等場景都可以精準地識別出來,配合影像矩陣進行精細化調參,幫助打造更加主動智慧、省時省力的移動應用。讓我們看一看增強效果。
二、增強效果
對於城市夜景圖,場景識別可以準確識別出夜景,然後將圖片中的亮部增量,暗部變暗,整個照片比之前看起來層次感更強,夜景效果更加純粹。
然後測試一張天空的圖片,在準確識別天空場景之後透過增強矩陣將略顯昏暗的天空變得明亮起來。
以及對於綠植、花朵的拍照增強。
當然,以上demo對於各種圖片的增強效果可能有細微的不同,當然可以根據自己的風格來選擇或搭配濾鏡。
所以讓我們瞭解開發原理之後再開發自己的相機模式吧。
三、開發步驟
- 建立場景識別檢測器例項。
MLSceneDetectionAnalyzer analyzer = MLSceneDetectionAnalyzerFactory.getInstance().getSceneDetectionAnalyzer();
- 透過android.graphics.Bitmap構造MLFrame,支援的圖片格式包括:jpg/jpeg/png/bmp。
MLFrame frame = new MLFrame.Creator().setBitmap(bitmap).create();
- 場景識別。
Task<List<MLSceneDetection>> task = this.analyzer.asyncAnalyseFrame(frame);
task.addOnSuccessListener(new OnSuccessListener<List<MLSceneDetection>>() {
@Override
public void onSuccess(List<MLSceneDetection> sceneInfos) {
// Processing logic for scene detection success.
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception e) {
// Processing logic for scene detection failure.
if (e instanceof MLException) {
MLException exception = (MLException) e;
// Obtain the result code.
int errCode = exception.getErrCode();
// Obtain the error information.
String message = exception.getMessage();
} else {
// Other errors.
}
}
});
- 檢測完成,停止分析器,釋放檢測資源。
if (analyzer != null) {
analyzer.stop();
}
maven地址
buildscript {
repositories {
maven { url 'https://developer.huawei.com/repo/' }
}
}
allprojects {
repositories {
maven { url 'https://developer.huawei.com/repo/' }
}
}
引入SDK
dependencies {
// Scene detection SDK.
implementation 'com.huawei.hms:ml-computer-vision-scenedetection:2.0.3.300'
// Scene detection model.
implementation 'com.huawei.hms:ml-computer-vision-scenedetection-model:2.0.3.300'
}
清單檔案
<manifest
...
<meta-data
android:name="com.huawei.hms.ml.DEPENDENCY"
android:value="1" />
...
</manifest>
許可權
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.autofocus" />
動態許可權申請
if (!(ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED)) {
requestCameraPermission();
}
四、總結
華為機器學習場景識別提供的更加主動的智慧是未來應用趨勢,除了用於拍照效果增強,場景識別還可以用來進行相簿管理及場景圖片檢索,幫助您構建精細化的分類獲取和管理。
原作者:timer
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2819/viewspace-2826701/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 實現人工智慧應用場景的關鍵技術人工智慧
- 面向NLP場景應用的智慧輔助建模(四)本體表示式發現
- 魅族16S拍照怎麼樣?魅族16S拍照評測:智慧識別數百種不同的應用場景
- 幫助系統的實現
- 面向NLP場景應用的智慧輔助建模(一)簡介
- 人工智慧幫你一鍵生成完美架構圖人工智慧架構
- 基於ESP8266的開源MCU方案(十二)智慧場景:一鍵場景
- 應對 Job 場景,Serverless 如何幫助企業便捷上雲Server
- CTPN/CRNN的OCR自然場景文字識別理解(一)RNN
- 7個幫助識別未知字型的線上工具
- 達觀智慧知識問答系統可幫助企業實現知識價值共享,助力智慧企業建設
- 閒聊js14: 實現一個關鍵的,最小化的,非場景圖型別的精靈系統(下)JS型別
- 文件太多彆著急,OCR識別工具幫你一鍵搞定!
- React 實現圖片識別AppReactAPP
- 人工智慧如何幫助水電實現可持續發展人工智慧
- 使用思維導圖工具MindManager幫助實現目標設定
- 蘋果被曝開發“一鍵搬家”工具 幫助使用者轉投安卓陣營蘋果安卓
- 文字識別解決方案-OCR識別應用場景解析
- 通用文字識別API-通用文字識別介面可以識別哪些場景文字API
- 學習將車輛對映到鳥瞰圖中:幫助駕駛系統全面理解道路場景
- 圖片文字識別怎麼實現
- 真實場景再現
- ERP系統:幫助企業實現一體化管理
- 分散式系統選主場景分析及實現分散式
- 罐籠乘坐人員超限識別智慧礦山一體機斜井人員進出識別應用場景綜述
- PHP安全有幫助的一些函式PHP函式
- 條件隨機場實現命名實體識別條件隨機場
- 圖靈社群發貼幫助圖靈
- NLPIR系統實現知識圖譜技術的企業服務場景應用
- 趣圖:臉部識別最快的實現
- AI大模型實現圖片OCR識別AI大模型
- BPM如何幫助企業實現精益管理?
- DevOps 如何幫助實現安全部署dev
- nginx實現常見場景Nginx
- unity實現場景跳轉Unity
- 雲場景實踐研究第49期:媽媽幫
- 手機如何提取圖片中的文字、拍照識別文字的操作
- 電商趨勢:虛擬現實、智慧試衣購物場景