Python调用华为API实现名人识别

1.作者介绍

张美灵,女,西安工程大学电子信息学院,2021级硕士研究生
研究方向:激光散斑测速
电子邮件:[email protected]

孟莉苹,女,西安工程大学电子信息学院,2021级硕士研究生,张宏伟人工智能课题组
研究方向:机器视觉与人工智能
电子邮件:[email protected]

2.华为云名人识别API介绍

2.1 华为云名人识别API

接口描述:分析并识别图片中包含的政治人物、明星及网红人物,返回人物信息及人脸坐标。

2.2 使用AK,SK方式调用API步骤

步骤图

3.项目实现过程

3.1开通名人识别服务
在这里插入图片描述

3.2获取AK,SK
在这里插入图片描述

3.3进入API exploer进行调试
在这里插入图片描述

在调试台进行调试时需要注意的是:华为云名人识别API可使用的地区,获取图片的方式,显示调试成功后即可在右上方的代码示例中选择相应的语言代码。
在这里插入图片描述

3.4在pycharm安装核心库和图像服务库
在这里插入图片描述

3.5代码实现

#coding: utf-8

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcore.http.http_config import HttpConfig
from huaweicloudsdkimage.v2 import ImageClient, RunCelebrityRecognitionRequest, CelebrityRecognitionReq
from huaweicloudsdkimage.v2.region.image_region import ImageRegion

if __name__ == "__main__":
    ak = "appkey"
    sk = "secret key"

    credentials = BasicCredentials(ak, sk)

    client = ImageClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(ImageRegion.value_of("cn-north-4")) \
        .build()

    try:
        request = RunCelebrityRecognitionRequest()
        request.body = CelebrityRecognitionReq(
            threshold=0,
            url="https://s2.loli.net/2022/03/15/gjUadDr7vNouCpL.jpg"
        )
        response = client.run_celebrity_recognition(request)
        print(response.status_code)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

3.6测试结果

在这里插入图片描述

4.问题与分析

1.若出现错误码400,即说明图片的url不合法,我们需要正确的图片url格式。
在这里插入图片描述

解决:利用第三方网站生成正确的url。

猜你喜欢

转载自blog.csdn.net/m0_37758063/article/details/124115212