似乎不再可能将IBM对象存储的公共IMages与沃森视觉识别相关联。两个服务之间的呼叫类型发生了变化。我下面的代码用来工作,但知道它说没有“图像创建”。
import json
from os.path import join, dirname
from os import environ
import sys
import os
import boto3
import pprint
from boto3 import client
from botocore.utils import fix_s3_host
from watson_developer_cloud import VisualRecognitionV3
param_1= "MY S3 KEY"
param_2= "MY S3 SECRET KEY "
param_3= "https://s3-api.us-geo.objectstorage.softlayer.net"
param_4= "MY BUCKET "
param_5= "MY WATSON API KEY "
#The Name of my image I want to analyse that is currently in my bucket and is made public
objectNMAE='THIEF.jpg'
s3ressource = client(
service_name='s3',
endpoint_url= param_3,
aws_access_key_id= param_1,
aws_secret_access_key=param_2,
use_ssl=True,
)
visual_recognition = VisualRecognitionV3('2016-05-20', api_key=param_5)
#The URL of my image I made public with Public ACL
urltobeanalysed="%s/%s/%s" % (param_3,param_4,objectNMAE)
#For Debug, I use an image that can be viewed in a web-browser
URL2="https://fr.wikipedia.org/wiki/Barack_Obama#/media/File:President_Barack_Obama.jpg"
print(json.dumps(visual_recognition.classify(images_url=urltobeanalysed), indent=2))更重要的是,公开的图片曾经显示在我的浏览器中,现在当我输入URL时,它正在下载。有什么线索吗?
发布于 2017-05-11 11:12:34
经过一些研究,IBM似乎与AWS S3行为保持一致,在对象头行为上发生了一些变化。我必须将内容类型指定为image/jpeg:'contentType‘=> 'image/jpeg’
另外,什么也没有展示。不起作用了。
发布于 2017-05-11 11:32:30
请注意,代码中提供的图像是显示大图像的wiki 页面的URL。您应该在API调用中提供到映像的直接链接是这一个。(请右击浏览器中的图像,并根据浏览器执行“复制图像位置”之类的操作)。
https://stackoverflow.com/questions/43910100
复制相似问题