如何显示 Clarifai API 搜索 Python 图像对象

How to display the Clarifai API Search Python Image Object

我正在关注 Clarifai 网站上的 API 教程,专门使用搜索教程(https://developer-preview.clarifai.com/quick-start/)

from clarifai.rest import ClarifaiApp

app = ClarifaiApp("{clientId}", "{clientSecret}")

# before search, first need to upload a few images
app.inputs.create_image_from_url("https://samples.clarifai.com/puppy.jpeg")

# search by predicted concept
result = app.inputs.search_by_predicted_concepts(concept='dog')
print(result)

当我查看 API returns 时,它是一个包含图像对象的列表,如下所示:

[<clarifai.rest.client.Image object at 0x103215f50>]

如何显示此 Image 对象以查看其包含的内容并将其保存到 .png 等文件中?

首先,您可能想要吊销您的密钥,因为它们在这里遭到破坏。

其次你的问题,当你得到结果时,你会得到一个 Image() 对象的列表。

例如,

imgs = app.inputs.search(bla)

如果你 运行 vars(imgs[0]) 你会看到

In [14]: vars(imgs[0])
Out[14]:
{'allow_dup_url': False,
 'base64': None,
 'concepts': None,
 'crop': [0.1, 0.3, 0.5, 0.7],
 'file_obj': None,
 'filename': None,
 'input_id': u'sdfsdsdfds1a837e19a10f9',
 'metadata': None,
 'not_concepts': None,
 'url': u'https://s3.amazonaws.com/clarifai-api/img/prod/bla.jpeg'}

imgs[0] 是一个对象。您基本上可以通过以下方式获取属性 imgs[0].urlimgs[0].input_id 或类似的东西。

希望这能解决您的问题。