
# 主体识别示例
本章节对主体识别AK/SK方式使用SDK进行示例说明。
- 主体识别示例代码只需将AK/SK信息替换为实际AK/SK，代码中可以使用初始化ImageMainObjectDetectionReq中的url或image配置图像信息（image和url参数二选一），示例中以url为例，配置完成后运行即可。
- endpoint是华为云各服务应用区域和各服务的终端节点，详情请查看[地区和终端节点](https://developer.huaweicloud.com/endpoint?Image)。
1. 主体识别调用示例代码如下：
   ```
   # coding: utf-8
   from huaweicloudsdkcore.auth.credentials import BasicCredentials
   from huaweicloudsdkimage.v2.region.image_region import ImageRegion
   from huaweicloudsdkcore.exceptions import exceptions
   from huaweicloudsdkimage.v2 import *
    
   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 = ImageClient.new_builder() \
           .with_credentials(credentials) \
           .with_region(ImageRegion.value_of("cn-north-4")) \   //此处替换为您开通服务的区域，详情请查看地区和终端节点.
           .build()
    
       try:
           request = RunImageMainObjectDetectionRequest()
           request.body = ImageMainObjectDetectionReq(
               threshold=30,
               url="https://XXX.jpg"   //替换为公网可以访问的图片地址
           )
           response = client.run_image_main_object_detection(request)
           print(response)
       except exceptions.ClientRequestException as e:
           print(e.status_code)
           print(e.request_id)
           print(e.error_code)
           print(e.error_msg)
   ```
   
2. 执行示例代码文件，控制台输出主体识别结果即表示程序执行成功。相关参数说明请参考[主体识别API](https://support.huaweicloud.com/api-image/image_03_0042.html#section4)。
   ```
   {
   "result": [{
   "label": "bounding_box", 
   "location": {"height": 327.77, "top_left_x": 3.7, "top_left_y": 1.72, "width": 463.03}, 
   "confidence": "95.73"}, {"label": "main_object_box", 
   "location": {"height": 328.35, "top_left_x": 3.22, "top_left_y": 1.5, "width": 456.63}, 
   "confidence": "88.35"}]
   }
   ```
   
