开发者社区 > 视觉智能 > 正文

视觉智能平台按照示例代码写的,一直报这个错,可能是什么原因呀?

视觉智能平台AttributeError: 'AttributeError' object has no attribute 'message'
按照示例代码写的,一直报这个错,可能是什么原因呀?
代码:
recogcolor_client = imagerecog20190930Client(open_api_models.Config(access_key_id=access_key_id,
access_key_secret=access_key_secret,
endpoint='imagerecog.cn-shanghai.aliyuncs.com'))

def call_recogscene(img_url):
recogcolor_request = imagerecog_20190930_models.RecognizeImageColorRequest(url=img_url)
runtime = util_models.RuntimeOptions()
try:
ret = recogcolor_client.recognize_image_color_with_options(recogcolor_request, runtime)
return [(i.color, i.percentage, i.label) for i in ret.body.data.colortemplatelist]
except Exception as error:
print(img_url, UtilClient.assert_as_string(error.message))
return img_url

改过error这部分可以跑通,但是,会报'RecognizeImageColorResponseBodyData' object has no attribute 'colortemplatelist' 的错误,我查了文档,返回值应该是有这项的呀

展开
收起
嘟嘟嘟嘟嘟嘟 2023-10-26 14:09:32 59 0
3 条回答
写回答
取消 提交回答
  • 这个错误可能是由于在创建imagerecog20190930Client对象时,传入的参数不正确导致的。请检查以下几点:

    1. 确保您已经正确安装了阿里云SDK,并且导入了相关的模块。例如:
    from aliyunsdkcore.client import AcsClient
    from aliyunsdkcore.acs_exception.exceptions import ClientException, ServerException
    from aliyunsdkimagerecog.request.v20190930 import RecognizeColorRequest
    import open_api_models
    
    1. 检查您的access_key_idaccess_key_secret是否正确。确保它们是有效的阿里云账户凭据。

    2. 检查您的endpoint是否正确。根据您的需求,选择正确的地域和服务名称。例如,如果您要使用上海地区的图像识别服务,可以将endpoint设置为imagerecog.cn-shanghai.aliyuncs.com

    3. 如果以上都没有问题,您可以尝试使用以下示例代码来创建imagerecog20190930Client对象:

    recogcolor_client = imagerecog20190930Client(open_api_models.Config(access_key_id=access_key_id,
    access_key_secret=access_key_secret,
    endpoint='imagerecog.cn-shanghai.aliyuncs.com'))
    
    2023-10-30 17:47:53
    赞同 展开评论 打赏
  • 这个错误可能是由于返回的响应数据中没有colortemplatelist属性导致的。你可以尝试在访问ret.body.data.colortemplatelist之前,先检查ret.body.data是否存在,然后再访问colortemplatelist属性。修改后的代码如下:

    recogcolor_client = imagerecog20190930Client(open_api_models.Config(access_key_id=access_key_id,
    access_key_secret=access_key_secret,
    endpoint='imagerecog.cn-shanghai.aliyuncs.com'))
    
    def call_recogscene(img_url):
        recogcolor_request = imagerecog_20190930_models.RecognizeImageColorRequest(url=img_url)
        runtime = util_models.RuntimeOptions()
        try:
            ret = recogcolor_client.recognize_image_color_with_options(recogcolor_request, runtime)
            if hasattr(ret.body.data, 'colortemplatelist'):
                return [(i.color, i.percentage, i.label) for i in ret.body.data.colortemplatelist]
            else:
                print("Error: ret.body.data does not have attribute 'colortemplatelist'")
                return img_url
        except Exception as error:
            print(img_url, UtilClient.assert_as_string(error.message))
            return img_url
    

    这样,当ret.body.data不存在colortemplatelist属性时,程序会输出错误信息并返回img_url

    2023-10-27 09:26:42
    赞同 展开评论 打赏
  • message对象没属性,你直接使用我们给的示例代码调用看下呢?
    https://help.aliyun.com/zh/viapi/use-cases/color-identification?spm=a2c4g.11186623.0.i24

    print(response.body.data.color_template_list)
    此回答整理自钉群“阿里云视觉智能开放平台咨询1群”

    2023-10-26 14:22:21
    赞同 展开评论 打赏

为开发者提供高易用、普惠的视觉API服务,帮助企业快速建立视觉智能技术应用能力的综合性视觉AI能力平台。适用于数字营销、互联网娱乐、安防、手机应用、泛金融身份认证等行业。

相关产品

  • 视觉智能开放平台
  • 热门讨论

    热门文章

    相关电子书

    更多
    阿里云视觉智能开放平台-产品介绍 立即下载
    阿里云视觉智能开放平台产品介绍 立即下载
    利用CNN实现无需联网的图像识别 立即下载