“HUAWEI HiAI体验”快应用源码在github(https://github.com/Huawei/Consumer/tree/master/HiAI-quickapp-demo) 开源了,一步步带你快速在快应用中接入 HUAWEI HiAI Engine,让你的快应用变得更智能。
1. 引言
华为HUAWEI HiAI Engine提供了免费的人脸识别、自然语言处理等多种AI能力,而且还可以在快应用中使用,您可以轻松将多种AI能力和APP或快应用相结合,让您的APP或快应用更加智能强大。最重要的是HUAWEI HiAI Engine是离线的,用户的数据始终都在他们自己的手机上面,不需要担心隐私泄露的问题,可以放心使用。
本次介绍HUAWEI HiAI Engine的美学评分能力。美学评分提供了一个评价图像的综合美学分数的接口,分数越高说明图像越“美”,可应用于个人相册管理、自动照片编辑、相机辅助拍照等应用场景。本次实现效果图如下所示。

2. 接入准备
美学评分在快应用中使用很简单,只需要开发者在华为快应用官网下载华为快应用IDE,然后就可以根据HUAWEI HiAI开发指南进行开发了。目前使用华为快应用IDE开发HUAWEI HiAI的能力只需完成一下两步即可开始代码编写,具体如下:
1) manifest配置文件增加如下配置:{'name': 'system.ai'}
2) 导入AI模块,如:import ai from '@system.ai或 var ai = require('@system.ai ')
3. 代码实现
代码编写先是完成界面部分,然后实现HUAWEI HiAI接口功能,界面实现可以参考快应用开发指南,这里详细介绍一下HUAWEI HiAI中美学评分接口的实现,本示例中具体实现步骤如下:
第一步:获取图片资源uri。
第二步:调用HUAWEI HiAI美学评分接口。
(1) 获取图片资源uri有两种方式,一种是获取手机相册图片uri,另一种是通过手机相机拍照获取图片uri,实现方法如下:
//获取图片资源
selectMedia: function (e) {
var that = this;
//判断是拍照获取资源,调用takePhoto方法
if (e === 'takePhoto') {
that.takePhoto().then(function (data) {
that.imageUri = data.uri;
that.detectAestheticsScore();
});
}
//判断是从相册中选择图片,调用selectOneImage方法
else if (e === 'selectImage') {
that.selectOneImage().then(function (data) {
that.imageUri = data.uri;
that.detectAestheticsScore();
});
}
else {
that.cancel();
}
},
//拍摄照片
takePhoto: function () {
var that = this;
that.isShow = '';
return new Promise(function (resolve, reject) {
//调用media库中takePhoto方法
media.takePhoto({
success: function (data) {
resolve(data);
}
})
});
},
//从手机相册中选择第一张图片
selectOneImage: function () {
var that = this;
that.isShow = '';
return new Promise(function (resolve, reject) {
//调用media库中pickImage方法
media.pickImage({
success: function (data) {
resolve(data);
}
})
});
},
(2) 调用美学评分接口
//美学评分
detectAestheticsScore: function () {
var that = this;
that.result_list = [];
//调用美学评分接口
ai.detectAestheticsScore({
//源文件的uri,仅支持本地路径
uri: that.imageUri,
success: function (data) {
//解析返回结果
var imageScore = '图片评分: ' + Math.round(data.score * 10) / 10;
that.result_list.push(imageScore);
},
fail: function (data, code) {
var failCode = '错误码: ' + errCodeList[code];
that.result_list.push(failCode);
},
complete: function () {
console.log('handling complete')
}
})
}
4. 总结
至此,介绍快应用接入HUAWEI HiAI的美学评分能力已经描述完了,本次介绍的分词能力源码在github上有上传,大家可以点击下载去看一下。
除此之外,华为还提供了Android端的HUAWEI HiAI,本次分享没有介绍,有兴趣的朋友可以去华为开发者网站看看关于Android端HUAWEI HiAI。






































苏公安网备 32011402010933号