teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

誤字

2020/06/24 07:13

投稿

Kokku
Kokku

スコア39

title CHANGED
File without changes
body CHANGED
@@ -7,39 +7,36 @@
7
7
  import json
8
8
 
9
9
  #### Request headers
10
- #'Content-Type': APIに送るメディアのタイプ
10
+ #'Content-Type': APIに送るメディアのタイプ.
11
- # 'application/json' (URL指定の場合に選択する),
12
- # 'application/octet-stream' (Local ファイル転送の場合に選択する)
11
+ # 'application/json'(URL指定の場合), 'application/octet-stream' (Local ファイル転送の場合)
13
12
  #'Ocp-Apim-Subscription-Key': APIキーを指定する
14
13
  headers = {
15
14
  # 'Content-Type': 'application/json',
16
15
  'Content-Type': 'application/octet-stream',
17
- 'Ocp-Apim-Subscription-Key': 'XXXXXXXX{APIキー}',
16
+ 'Ocp-Apim-Subscription-Key': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
18
17
  }
19
18
 
20
19
  #### Request parameters
21
20
  # 取得したい情報について、パラメータを指定する
21
+ # 'returnFaceId': 入力した顔画像に付与されるIDを返すかどうか
22
- # 'visualFeatures' : 画像の分類結果などの出力内容指定る.
22
+ # 'returnFaceLandmarks' : 目や口などの特徴となる部分の座標かどうか
23
+ # 'returnFaceAttributes' : 認識した顔からわかる属性を返す
23
- # 指定できるパラメータはコンマで分けて複数指定可能
24
+ # 指定できるパラメータは以下で、コンマで分けて複数指定可能
24
- # Categories : 画像の分類
25
+ # age, gender, headPose, smile, facialHair,
25
- # Tags : 画像と関連するタグ
26
+ # glasses, emotion, hair, makeup, occlusion,
26
- # Description : 入力画像に対する適切な説明文
27
+ # accessories, blur, exposure and noise
27
- # Faces : 顔が含まれる場合検出する
28
- # ImageType :クリップアートや絵だった場合それを検出する
29
- # Color : 画像全体の色やアクセントの色、白黒かどうかなど
30
- # Adult : アダルト画像やきわどい画像かどうかを検出
31
- # 'details' : 有名人(Celebrities), ランドマーク(Landmarks)などが含まれて居た場合に識別するかどうかのパラメータ
32
- # 'language' : 何語で出力を返すか. english, chineseのみ. 標準ではenglish
33
28
  params = urllib.parse.urlencode({
34
- 'visualFeatures': 'Categories,Tags,Description,Adult',
35
- # 'details': 'Celebrities,Landmarks',
36
- 'language': 'en',
29
+ 'returnFaceId': 'true',
30
+ # 'returnFaceLandmarks': 'true',
31
+ 'returnFaceAttributes': 'age,gender,smile,facialHair,emotion'
37
32
  })
38
33
 
39
34
  #### Request body
40
35
  # 入力したい画像の指定をする. 画像URLの指定, local ファイルの指定から選択
41
36
  # 画像はJPEG, PNG, GIF, BMPに対応
42
37
  # サイズの上限は4MB
38
+ # 認識可能な顔のサイズは 36x36 - 4096x4096 pixelsの範囲
39
+ # 最大64個の顔を認識可能
43
40
 
44
41
  ## URL 指定の場合以下のコメントアウトを外すし、image_urlを指定する
45
42
  #image_url = 'https://XXXXX'
@@ -48,7 +45,7 @@
48
45
 
49
46
  ## Local file指定の場合
50
47
  # 以下の image_file_path に読み込むファイルのパスを指定する
51
- image_file_path = 'XXXXXX.jpeg'
48
+ image_file_path = 'c:/temp/Lenna.jpg'
52
49
  image_file = open(image_file_path,'rb')
53
50
  body = image_file.read()
54
51
  image_file.close()
@@ -56,10 +53,10 @@
56
53
  #### API request
57
54
  # 接続先リージョンによっては, 以下HTTPSConnection の "westus.api.cognitive.microsoft.com" 部分は変更する.
58
55
  # この場合は「westus」なので北米西部リージョン
59
- # なお "/vision/v1.0/analyze?%s" の部分が接続先APIの機能を指定している
56
+ # なお "/face/v1.0/detect?%s" の部分が接続先APIの機能を指定している
60
57
  try:
61
- conn = http.client.HTTPSConnection('westus.api.cognitive.microsoft.com')
58
+ conn = http.client.HTTPSConnection('https://shotaaa.cognitiveservices.azure.com/')
62
- conn.request("POST", "/vision/v1.0/analyze?%s" % params, body, headers)
59
+ conn.request("POST", "/face/v1.0/detect?%s" % params, body, headers)
63
60
  response = conn.getresponse()
64
61
  data = json.loads(response.read())
65
62
  print(json.dumps(data, indent=4))
@@ -71,6 +68,7 @@
71
68
  ```
72
69
 
73
70
  ```エラー内容
71
+ ---------------------------------------------------------------------------
74
72
  ValueError Traceback (most recent call last)
75
73
  ~\Anaconda3\lib\http\client.py in _get_hostport(self, host, port)
76
74
  886 try:
@@ -82,10 +80,10 @@
82
80
  During handling of the above exception, another exception occurred:
83
81
 
84
82
  InvalidURL Traceback (most recent call last)
85
- <ipython-input-7-a7f9c4ef4dd3> in <module>
83
+ <ipython-input-2-f0904f9e9afa> in <module>
86
- 56 try:
84
+ 53 try:
87
- ---> 57 conn = http.client.HTTPSConnection('https://shotaaa.cognitiveservices.azure.com/')
85
+ ---> 54 conn = http.client.HTTPSConnection('https://shotaaa.cognitiveservices.azure.com/')
88
- 58 conn.request("POST", "/vision/v1.0/analyze?%s" % params, body, headers)
86
+ 55 conn.request("POST", "/face/v1.0/detect?%s" % params, body, headers)
89
87
 
90
88
  ~\Anaconda3\lib\http\client.py in __init__(self, host, port, key_file, cert_file, timeout, source_address, context, check_hostname, blocksize)
91
89
  1380 source_address,
@@ -107,14 +105,14 @@
107
105
  During handling of the above exception, another exception occurred:
108
106
 
109
107
  AttributeError Traceback (most recent call last)
110
- <ipython-input-7-a7f9c4ef4dd3> in <module>
108
+ <ipython-input-2-f0904f9e9afa> in <module>
111
- 62 conn.close()
109
+ 59 conn.close()
112
- 63 except Exception as e:
110
+ 60 except Exception as e:
113
- ---> 64 print("[Errno {0}] {1}".format(e.Errno, e.strerror))
111
+ ---> 61 print("[Errno {0}] {1}".format(e.errno, e.strerror))
114
- 65
112
+ 62
115
- 66 ####################################
113
+ 63 ####################################
116
114
 
117
- AttributeError: 'InvalidURL' object has no attribute 'Errno'
115
+ AttributeError: 'InvalidURL' object has no attribute 'errno'
118
116
  ```
119
117
 
120
118
  どこから直せばいいのかわからず、一番最後のエラーも探しても見つかりませんでした。

2

誤字

2020/06/24 07:13

投稿

Kokku
Kokku

スコア39

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- https://datumstudio.jp/blog/azure-computer-vision-api%E3%81%A8face-api%E3%82%92python%E3%81%8B%E3%82%89%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B
1
+ [https://datumstudio.jp/blog/azure-computer-vision-api%E3%81%A8face-api%E3%82%92python%E3%81%8B%E3%82%89%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B](https://datumstudio.jp/blog/azure-computer-vision-api%E3%81%A8face-api%E3%82%92python%E3%81%8B%E3%82%89%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B)
2
2
 
3
3
  このページにある下記コードを実行するとこんなエラーが出てしまいます。
4
4
  ```

1

誤字

2020/06/24 07:05

投稿

Kokku
Kokku

スコア39

title CHANGED
File without changes
body CHANGED
@@ -118,4 +118,6 @@
118
118
  ```
119
119
 
120
120
  どこから直せばいいのかわからず、一番最後のエラーも探しても見つかりませんでした。
121
- 教えてもらえますでしょうか。
121
+ 教えてもらえますでしょうか。
122
+
123
+ e.Errnoはどう書き換えたら正常に動くようになるのでしょうか。