Si vous lisez l'article ci-dessus, vous en comprendrez les détails.
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
#Démo de l'API Microsoft Computer Vision
# Python 2 /3 Fonctionné dans les deux systèmes
#
#
# Usage: python ms_cv_api_exp.py (image_url)
#
#référence
# http://qiita.com/kosfuji/items/621cbedfad0eb68b2f5d
# https://dev.projectoxford.ai/docs/services/56f91f2d778daf23d8ec6739/operations/56f91f2e778daf14a499e1fa
#
from __future__ import print_function
import sys
PY3 = sys.version_info[0] == 3
if PY3:
from urllib.parse import urlencode
from http.client import HTTPSConnection
else:
from urllib import urlencode
from httplib import HTTPSConnection
def main(image_url):
headers = {
'Content-Type': 'application/json',
'Ocp-Apim-Subscription-Key': '(Entrez la clé d'abonnement ici)',
}
params = urlencode({'visualFeatures': 'Description'})
try:
conn = HTTPSConnection('api.projectoxford.ai')
conn.request("POST", "/vision/v1.0/analyze?%s" % params,
"{'url': '%s'}" % image_url,
headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
if __name__ == '__main__':
if len(sys.argv) < 2:
print("Usage: {} url".format(sys.argv[0]))
main(sys.argv[1])
Si vous avez une clé d'abonnement, vous pouvez effectuer de nombreuses analyses d'URL avec les outils ci-dessus.
Voici "Impression / Sunrise" de Monet
Le résultat est ……
{
"description": {
"tags": [
"building",
"water",
"street",
"red",
"light",
"sunset",
"painting",
"large",
"city",
"white",
"bus",
"standing",
"rain",
"walking",
"traffic",
"colorful",
"man",
"blurry",
"riding",
"parked",
"people",
"river",
"night"
],
"captions": [
{
"text": "a painting of a river",
"confidence": 0.6266185233006358
}
]
},
"requestId": "f4ead5ca-0c3c-4e41-97ef-df5d8e2e566d",
"metadata": {
"width": 1000,
"height": 776,
"format": "Png"
}
}
Je l'ai jugé même avec une grande peinture impressionniste
C'est aussi le "boulevard Capucine" de Monet
Le résultat est ……
{
"description": {
"tags": [
"outdoor",
"tree",
"snow",
"mountain",
"covered",
"group",
"standing",
"large",
"water",
"riding",
"field"
],
"captions": [
{
"text": "a view of a mountain",
"confidence": 0.41440203405943216
}
]
},
"requestId": "a41ea71a-6e1d-416f-b34e-aa19b98c03e0",
"metadata": {
"width": 736,
"height": 1000,
"format": "Jpeg"
}
}
Hein, la montagne ...? (´ ・ ω ・ `)
C'est une API un peu désordonnée, mais personnellement, j'ai pensé que c'était "génial" ci-dessous
"Panneau stop
Le résultat est ……
{
"description": {
"tags": [
"building",
"sign",
"outdoor",
"red",
"stop",
"street",
"pole",
"front",
"traffic",
"sitting",
"black",
"city",
"white",
"close",
"side",
"large",
"blue",
"standing",
"train"
],
"captions": [
{
"text": "a red stop sign sitting on the side of a building",
"confidence": 0.8758533311779192
}
]
},
"requestId": "2b687702-9442-45cd-bd5c-7de6be37440d",
"metadata": {
"width": 1000,
"height": 1334,
"format": "Png"
}
}
Je frappe ~
Comme je l'ai appris en parlant à d'autres personnes, le panneau «stop» japonais est une sorte de Galapagos.
Par conséquent, afin de juger "un panneau d'arrêt rouge" avec ce chiffre, il est nécessaire d'inclure ces japonais dans les données de formation. Il semble que ce soit correctement dans les données d'entraînement.
Cette fois, c'était gratuit car c'était un aperçu. Selon la description, «5 000 transactions par mois, 20 par minute». C'est difficile de l'utiliser sérieusement au travail, mais c'est suffisant pour jouer à ce niveau.
L'histoire des prix est ici. https://www.microsoft.com/cognitive-services/en-us/pricing