2017-05-11 8 views
0

IBM Cloud Object StorageのパブリックIMageをWatsonの視覚認識に関連付けることは、これ以上不可能に思えます。 2つのサービス間のコールの種類が変更されました。 以下のコードは動作するのに使用しますが、「画像が見つかりません」と表示されています。Watson視覚認識API更新

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を入力すると、今、それは...代わりに任意の手掛かりをダウンロードして、自分のブラウザに表示されるように使用されるより、作られる画像はパブリックとは何ですか?

答えて

0

SOの一部の調査の後、IBM COSはAWS S3の動作に匹敵すると思われ、オブジェクトヘッダーの動作が変更されました。 コンテンツタイプをimage/jpegに指定する必要がありました: 'contentType' => 'image/jpeg'

otherwhise何も表示されませんでした。いいえ、それは動作します。

1

コードに入力した画像は、大きな画像を表示するwiki ページのURLであることに注意してください。 API呼び出しで提供するイメージへの直接リンクはthis oneです。 (ブラウザで画像を右クリックし、「画像の場所をコピーする」のような操作はブラウザによって異なります)。

+0

ありがとう、私はあなたの答えをUpvotedしかし、これは理由の一部です。 IBM BlueMix COSチームから、コンテンツタイプの操作に関して何をしたかを聞きたいと思います。これは私のアプリを変更し、更新するコードをいくつか追加しなければならなかった。私はAPiが更新されたときに更新し、更新の詳細を明確にしたいと思います。ありがとう。 – MouIdri

関連する問題