更新时间:2023-11-21 GMT+08:00

搜索图片示例

本章节对搜索图片AK/SK方式使用SDK进行示例说明。

搜索图片示例代码只需将AK/SK信息替换为实际AK/SK,代码中可以使用初始化SearchPictureReq中的path配置图像的URL,配置完成后运行即可。

  1. 搜过图片调用示例代码如下:
    # coding: utf-8 
    
    from huaweicloudsdkcore.auth.credentials import BasicCredentials
    from huaweicloudsdkcore.exceptions import exceptions
    from huaweicloudsdkimagesearch.v1 import *
    from huaweicloudsdkimagesearch.v1.region.imagesearch_region import ImageSearchRegion
     
    if __name__ == "__main__":
        # 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;
        # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。
        ak = os.getenv("HUAWEICLOUD_SDK_AK")
        sk = os.getenv("HUAWEICLOUD_SDK_SK")
     
        credentials = BasicCredentials(ak, sk)
     
        client = ImageSearchClient.new_builder() \
            .with_credentials(credentials) \
            .with_region(ImageSearchRegion.value_of("cn-north-4")) \
            .build()
     
        try:
            request = RunSearchPictureRequest()
            # 设置实例名称
            request.instance_name="instance-name"
            # 设置图片路径
            request.body=SearchPictureReq(
                path="https://bucketname.obs.cn-north-4.myhuaweicloud.com/imagesearch-test.jpg"
            )
            response = client.run_search_picture(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)
  2. 执行示例代码文件,控制台输出搜索图片结果即表示程序执行成功。搜索图片结果输出到控制台。
    200 
     {"count": 1, "result": [{"path": "https://bucketname.obs.cn-north-4.myhuaweicloud.com/imagesearch-test.jpg", "sim": 1.0, "tags": {}}]}