# api-homework **Repository Path**: bunnyyang73/api-homework ## Basic Information - **Project Name**: api-homework - **Description**: api作业 - **Primary Language**: Python - **License**: AFL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-10-23 - **Last Updated**: 2021-01-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # api-homework * [一、面部检测](#detect) * [二、aruze人脸识别](#face) * [三、face++](#faceplus) * [四、百度智能云](#baiduface) * [五、计算机视觉](#pcversion) * [六、学习人脸识别和计算机视觉心得体会](#experience)

一、面部检测

``` # A-1 面部检测 import requests import json # set to your own subscription key value subscription_key = "20501bb040334b57bb325f64688252b0" assert subscription_key # replace with the string from your endpoint URL face_api_url = 'https://bunnyyang73.cognitiveservices.azure.com/face/v1.0/detect' # 请求正文body image_url = 'https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=1372683257,2188709301&fm=26&gp=0.jpg' headers = {'Ocp-Apim-Subscription-Key': subscription_key} # 请求参数parameters params = { 'returnFaceId': 'true', 'returnFaceLandmarks': 'false', # 可选参数,请仔细阅读API文档 'returnFaceAttributes': 'age,gender,headPose,smile,facialHair,glasses,emotion,hair,makeup,occlusion,accessories,blur,exposure,noise', } response = requests.post(face_api_url, params=params, headers=headers, json={"url": image_url}) # json.dumps 将json--->bytes json.dumps(response.json()) '[{"faceId": "f73d674b-1676-420e-bd1b-c5a09f38cd3d", "faceRectangle": {"top": 135, "left": 107, "width": 186, "height": 186}, "faceAttributes": {"smile": 0.0, "headPose": {"pitch": -4.1, "roll": 3.8, "yaw": -17.2}, "gender": "male", "age": 20.0, "facialHair": {"moustache": 0.1, "beard": 0.1, "sideburns": 0.1}, "glasses": "NoGlasses", "emotion": {"anger": 0.0, "contempt": 0.0, "disgust": 0.0, "fear": 0.0, "happiness": 0.0, "neutral": 0.894, "sadness": 0.106, "surprise": 0.0}, "blur": {"blurLevel": "low", "value": 0.0}, "exposure": {"exposureLevel": "goodExposure", "value": 0.67}, "noise": {"noiseLevel": "low", "value": 0.0}, "makeup": {"eyeMakeup": true, "lipMakeup": false}, "accessories": [], "occlusion": {"foreheadOccluded": false, "eyeOccluded": false, "mouthOccluded": false}, "hair": {"bald": 0.03, "invisible": false, "hairColor": [{"color": "blond", "confidence": 0.97}, {"color": "brown", "confidence": 0.95}, {"color": "red", "confidence": 0.27}, {"color": "gray", "confidence": 0.19}, {"color": "black", "confidence": 0.18}, {"color": "other", "confidence": 0.09}, {"color": "white", "confidence": 0.0}]}}}]' json转译 # A-2 results = response.json() results [{'faceId': 'f73d674b-1676-420e-bd1b-c5a09f38cd3d', 'faceRectangle': {'top': 135, 'left': 107, 'width': 186, 'height': 186}, 'faceAttributes': {'smile': 0.0, 'headPose': {'pitch': -4.1, 'roll': 3.8, 'yaw': -17.2}, 'gender': 'male', 'age': 20.0, 'facialHair': {'moustache': 0.1, 'beard': 0.1, 'sideburns': 0.1}, 'glasses': 'NoGlasses', 'emotion': {'anger': 0.0, 'contempt': 0.0, 'disgust': 0.0, 'fear': 0.0, 'happiness': 0.0, 'neutral': 0.894, 'sadness': 0.106, 'surprise': 0.0}, 'blur': {'blurLevel': 'low', 'value': 0.0}, 'exposure': {'exposureLevel': 'goodExposure', 'value': 0.67}, 'noise': {'noiseLevel': 'low', 'value': 0.0}, 'makeup': {'eyeMakeup': True, 'lipMakeup': False}, 'accessories': [], 'occlusion': {'foreheadOccluded': False, 'eyeOccluded': False, 'mouthOccluded': False}, 'hair': {'bald': 0.03, 'invisible': False, 'hairColor': [{'color': 'blond', 'confidence': 0.97}, {'color': 'brown', 'confidence': 0.95}, {'color': 'red', 'confidence': 0.27}, {'color': 'gray', 'confidence': 0.19}, {'color': 'black', 'confidence': 0.18}, {'color': 'other', 'confidence': 0.09}, {'color': 'white', 'confidence': 0.0}]}}}] ```

二、aruze人脸识别

### (1).Azure 认知服务-人脸演示 #### 1.create facelist ```import requests # 1、create 列表 # faceListId faceListId = "yws"#学生填写 create_facelists_url = 'https://bunnyyang73.cognitiveservices.azure.com/face/v1.0/facelists/{}' #学生填写 subscription_key = '20501bb040334b57bb325f64688252b0'#学生填写 assert subscription_key headers = { # Request header 'Content-Type': 'application/json', 'Ocp-Apim-Subscription-Key': subscription_key, } data = { # 学生填写 "name": "exo", "userData": "照片", "recognitionModel": "recognition_03", } r_create = requests.put(create_facelists_url.format(faceListId),headers=headers,json=data) #学生填写 r_create r_create.content b'' ``` #### 2.Add face 请求成功200 返回persistedFaceId ```add_face_url ="https://api-hjq.cognitiveservices.azure.com/face/v1.0/facelists/{}/persistedfaces" assert subscription_key headers = { 'Content-Type': 'application/json', 'Ocp-Apim-Subscription-Key': subscription_key, } # 人脸相片地址 img_url ="https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1607580509,178125350&fm=26&gp=0.jpg" # 人脸数据 params_add_face={ "userData":"bo xian" } r_add_face = requests.post(add_face_url.format(faceListId),headers=headers,params=params_add_face,json={"url":img_url}) r_add_face.status_code 200 ``` #### 3.扩展内容,封装成函数方便多次使用 ```def AddFace(img_url=str,userData=str): add_face_url ="https://api-hjq.cognitiveservices.azure.com/face/v1.0/facelists/{}/persistedFaces" assert subscription_key headers = { # Request headers 'Content-Type': 'application/json', 'Ocp-Apim-Subscription-Key': subscription_key, } img_url = img_url params_add_face={ "userData":userData } r_add_face = requests.post(add_face_url.format(faceListId),headers=headers,params=params_add_face,json={"url":img_url}) return r_add_face.status_code #返回出状态码 AddFace("http://huangjieqi.gitee.io/picture_storage/Autumnhui.jpg","丘天惠") AddFace("http://huangjieqi.gitee.io/picture_storage/L-Tony-info.jpg","林嘉茵") AddFace("http://huangjieqi.gitee.io/picture_storage/TLINGP.jpg","汤玲萍") AddFace("http://huangjieqi.gitee.io/picture_storage/WenYanZeng.jpg","曾雯燕") AddFace("http://huangjieqi.gitee.io/picture_storage/XIEIC.jpg","谢依希") AddFace("http://huangjieqi.gitee.io/picture_storage/YuecongYang.png","杨悦聪") AddFace("http://huangjieqi.gitee.io/picture_storage/Zoezhouyu.jpg","周雨") AddFace("http://huangjieqi.gitee.io/picture_storage/crayon-heimi.jpg","刘瑜鹏") AddFace("http://huangjieqi.gitee.io/picture_storage/jiayichen.jpg","陈嘉仪") AddFace("http://huangjieqi.gitee.io/picture_storage/kg2000.jpg","徐旖芊") AddFace("http://huangjieqi.gitee.io/picture_storage/liuxinrujiayou.jpg","刘心如") AddFace("http://huangjieqi.gitee.io/picture_storage/liuyu19.png","刘宇") AddFace("http://huangjieqi.gitee.io/picture_storage/ltco.jpg","李婷") AddFace("http://huangjieqi.gitee.io/picture_storage/lucaszy.jpg","黄智毅") AddFace("http://huangjieqi.gitee.io/picture_storage/pingzi0211.jpg","黄慧文") AddFace("http://huangjieqi.gitee.io/picture_storage/shmimy-cn.jpg","张铭睿") AddFace("http://huangjieqi.gitee.io/picture_storage/yichenting.jpg","陈婷") AddFace("http://huangjieqi.gitee.io/picture_storage/coco022.jpg","洪可凡") AddFace("http://huangjieqi.gitee.io/picture_storage/lujizhi.png","卢继志") AddFace("http://huangjieqi.gitee.io/picture_storage/zzlhyy.jpg","张梓乐") ``` #### 4.检测人脸 ```face_api_url = 'https://api-hjq.cognitiveservices.azure.com/face/v1.0/detect' image_url = 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1607580509,178125350&fm=26&gp=0.jpg' headers = {'Ocp-Apim-Subscription-Key': subscription_key} # 请求参数 params = { 'returnFaceId': 'true', 'returnFaceLandmarks': 'false', # 选择模型 'recognitionModel':'recognition_03',#此参数需与facelist参数一致 'detectionModel':'detection_01', # 可选参数,请仔细阅读API文档 'returnFaceAttributes': 'age,gender,headPose,smile,facialHair,glasses,emotion,hair,makeup,occlusion,accessories,blur,exposure,noise', } response = requests.post(face_api_url, params=params,headers=headers, json={"url": image_url}) response.json() ``` #### 5.返回人脸相似置信度 ```findsimilars_url = "https://api-hjq.cognitiveservices.azure.com/face/v1.0/findsimilars" # 请求正文 faceID需要先检测一张照片获取 data_findsimilars = { "faceId":"1923431-83d5-4d21-8917-d3923945b39", #取上方的faceID "faceListId": "list_003", "maxNumOfCandidatesReturned": 10, "mode": "matchFace" #matchPerson #一种为验证模式,一种为相似值模式 } r_findsimilars = requests.post(findsimilars_url,headers=headers,json=data_findsimilars) r_findsimilars.json() # 查看列表 get_facelist_url = "https://api-hjq.cognitiveservices.azure.com/face/v1.0/facelists/{}" r_get_facelist = requests.get(get_facelist_url.format(faceListId),headers=headers) r_get_facelist.json()``` #### 6.用Pandas简化数据 ```import pandas as pd # 返回facelist数据 adf = pd.json_normalize(r_get_facelist.json()["persistedFaces"]) adf # 返回相似度数据 bdf = pd.json_normalize(r_findsimilars.json())# 升级pandas才能运行 bdf #合并 pd.merge(adf, bdf,how='inner', on='persistedFaceId').sort_values(by="confidence",ascending = False) ``` #### 7.删除人脸/人脸列表 ```faceListId = "list_004" # 需要删除的人脸列表 # 删除列表内人脸 delete_face_url = "https://api-hjq.cognitiveservices.azure.com/face/v1.0/facelists/{}/persistedfaces/{}" assert subscription_key # 获取上面的persistedFaceId persistedFaceId = r_add_face.json()["persistedFaceId"] headers = { 'Content-Type': 'application/json', 'Ocp-Apim-Subscription-Key': subscription_key, } # 注意requests请求为delete r_delete_face = requests.delete(delete_face_url.format(faceListId,persistedFaceId),headers=headers) ```

三、face++

#### 1.先导入需要的模块 ``` import requests # 1.输入我们api_secret、api_key api_secret = 'hfjLbyLs6jSNlSBej4w02PpczNV-21Q8' api_key = 'JQQHhD4ZQshkK1u97tM0Uf2oWqgFD4Kz' # 2. FaceSet Create import requests,json display_name = "exo" outer_id = "00001" user_data = "12男生" CreateFace_Url = "https://api-cn.faceplusplus.com/facepp/v3/detect" payload = { 'api_key': api_key, 'api_secret': api_secret, 'display_name':display_name, 'outer_id':outer_id, 'user_data':user_data } r = requests.post(CreateFace_Url, params=payload) r.json() out:'request_id': '1603507962,bdef4b4a-7d96-435d-b27c-dc7483c91c21', 'time_used': 44, 'error_message': 'MISSING_ARGUMENTS: image_url, image_file, image_base64'} # 3.FaceSet GetDetail(获取人脸集合信息) GetDetail_Url = "https://api-cn.faceplusplus.com/facepp/v3/faceset/getdetail" payload = { 'api_key': api_key, 'api_secret': api_secret, 'outer_id':outer_id, } r = requests.post(GetDetail_Url,params=payload) r.json() out:'time_used': 66, 'error_message': 'INVALID_OUTER_ID', # 4.FaceSet AddFace(增加人脸信息) GetDetail_Url = "https://api-cn.faceplusplus.com/facepp/v3/faceset/getdetail" payload = { 'api_key': api_key, 'api_secret': api_secret, 'outer_id':outer_id, } r = requests.post(GetDetail_Url,params=payload) r.json() out:{'time_used': 77, 'error_message': 'INVALID_FACESET_TOKEN', 'request_id': '1603508123,028629c3-36ed-47bb-9ffa-3934adecdb7c'} # 4.Compare Face(对比人脸相似度) boxian1= "https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1630553453,1986983804&fm=26&gp=0.jpg" boxian2 = "https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3978858734,1353041964&fm=26&gp=0.jpg" boxian3 = "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2460245688,1980966382&fm=26&gp=0.jpg" Compare_url = "https://api-cn.faceplusplus.com/facepp/v3/compare" payload ={ 'api_key': api_key, 'api_secret': api_secret, 'image_url1':boxian1, 'image_url2':boxian2 } r = requests.post(Compare_url,params=payload) r.json() out:{'faces1': [{'face_rectangle': {'width': 124, 'top': 102, 'left': 212, 'height': 124}, 'face_token': '3a86c73a7e962cf34da3854f5af8de7b'}], 'faces2': [{'face_rectangle': {'width': 155, 'top': 97, 'left': 182, 'height': 155}, 'face_token': '4617e5c081fc37b5e4343a333e0d624a'}], 'time_used': 735, 'thresholds': {'1e-3': 62.327, '1e-5': 73.975, '1e-4': 69.101}, 'confidence': 88.617, 'image_id2': 'ehmoN0mD8Mco5WVFw/NoPw==', 'image_id1': 'mi3Vf+R0IPd4z8jBgvmRoQ==', 'request_id': '1603508533,992287e0-d053-461e-8f86-fd76f87fd030'} ```

四、百度智能云人脸识别

``` import requests host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={}&client_secret={}' client_id = "cHYK5CNNevgFeH5ZSiiH4pMW" client_secret = "aKnIoMGz0zgDpy6HhQG8qxvlRHyMavQ2" response = requests.get(host.format(client_id, client_secret)) if response: print(response.json()) out:{'refresh_token': '25.ffe550be01fc059ee749f3b88c8bd6da.315360000.1918893922.282335-22869751', 'expires_in': 2592000, 'session_key': '9mzdXRIcoWKFtQAKU1tGecb5Ygnn6+WQ6uQFdKHmcVp3xu3sn5wVyTnOP9UmtKr+qRp6GHBaGc2MohbHve395ZDbwKIlNg==', 'access_token': '24.ff34008bdc4e671770805d8c89de2619.2592000.1606125922.282335-22869751', 'scope': 'public brain_all_scope vis-faceverify_faceverify_h5-face-liveness vis-faceverify_FACE_V3 vis-faceverify_idl_face_merge vis-faceverify_FACE_EFFECT vis-faceverify_face_feature_sdk wise_adapt lebo_resource_base lightservice_public hetu_basic lightcms_map_poi kaidian_kaidian ApsMisTest_Test权限 vis-classify_flower lpq_开放 cop_helloScope ApsMis_fangdi_permission smartapp_snsapi_base smartapp_mapp_dev_manage iop_autocar oauth_tp_app smartapp_smart_game_openapi oauth_sessionkey smartapp_swanid_verify smartapp_opensource_openapi smartapp_opensource_recapi fake_face_detect_开放Scope vis-ocr_虚拟人物助理 idl-video_虚拟人物助理 smartapp_component', 'session_secret': '2f1112e0c88138469a69d977f243ce63'} o ``` 1.人脸检测与属性分析 ``` request_url = "https://aip.baidubce.com/rest/2.0/face/v3/detect" params = "{\"image\":\"https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1172887705,1415254968&fm=26&gp=0.jpg\",\"image_type\":\"URL\",\"face_field\":\"faceshape,facetype\"}" # image_type 图片类型:BASE64;URL;FACE_TOKEN。 access_token = '24.6d684a22feb8384590448aa0f4edcb8e.2592000.1605596154.282335-22838595' # 调用鉴权接口获取的token request_url = request_url + "?access_token=" + access_token headers = {'content-type': 'application/json'} response = requests.post(request_url, data=params, headers=headers) response.json() out:{'error_code': 0, 'error_msg': 'SUCCESS', 'log_id': 8494751011599, 'timestamp': 1603534645, 'cached': 0, 'result': {'face_num': 1, 'face_list': [{'face_token': '419d9ad27ec44dc4fb8e1f8e21b76486', 'location': {'left': 317.8, 'top': 244.79, 'width': 35, 'height': 32, 'rotation': -47}, 'face_probability': 0.83, 'angle': {'yaw': -17.44, 'pitch': 16.06, 'roll': -43.42}, 'face_shape': {'type': 'round', 'probability': 0.65}, 'face_type': {'type': 'human', 'probability': 0.96}}]}} ``` 2.人脸对比 ``` request_url = "https://aip.baidubce.com/rest/2.0/face/v3/match" params = "[{\"image\": \"https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1172887705,1415254968&fm=26&gp=0.jpg", \"image_type\": \"URL\", \"face_type\": \"CERT\", \"quality_control\": \"LOW\"}, {\"image\": \"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1603015508446&di=eee4e2c852d804bc3b80a719df3df9ef&imgtype=0&src=http%3A%2F%2Fimg2-cloud.itouchtv.cn%2Ftvtouchtv%2Fimage%2F20170914%2F1505363583630378.jpg\", \"image_type\": \"URL\", \"face_type\": \"LIVE\", \"quality_control\": \"LOW\"}]" # face_type 人脸的类型 LIVE;IDCARD;WATERMARK;CERT;INFRARED。 access_token = '24.6d684a22feb8384590448aa0f4edcb8e.2592000.1605596154.282335-22838595' # 调用鉴权接口获取的token request_url = request_url + "?access_token=" + access_token headers = {'content-type': 'application/json'} response = requests.post(request_url, data=params, headers=headers) response.json() out:# {'error_code': 0, # 'error_msg': 'SUCCESS', # 'log_id': 7999101259975, # 'timestamp': 1603006489, # 'cached': 0, # 'result': {'score': 94.37832642, # 'face_list': [{'face_token': '91cf0a5aa45b0371989e56760b30548c'}, # {'face_token': '93d2501e1cb1685c26107d0b19cc854a'}]}} ```
五、计算机视觉
1.分析远程图像 ``` import requests %matplotlib inline import matplotlib.pyplot as plt import json from PIL import Image from io import BytesIO endpoint = "https://pcversion.cognitiveservices.azure.com/" subscription_key = "468d759e28ae4bea824458a8751f20d4" # base url analyze_url = endpoint+ "vision/v3.1/analyze" # Set image_url to the URL of an image that you want to analyze. image_url = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1603520336882&di=8c4b953c072df82f1411d21db6969837&imgtype=0&src=http%3A%2F%2Fb-ssl.duitang.com%2Fuploads%2Fitem%2F201503%2F27%2F20150327225215_QukuZ.jpeg" headers = {'Ocp-Apim-Subscription-Key': subscription_key} # 参数 params = {'visualFeatures': 'Categories,Description,Color'} # 请求主体body data = {'url': image_url} response = requests.post(analyze_url, headers=headers,params=params, json=data) response.raise_for_status() # The 'analysis' object contains various fields that describe the image. The most # relevant caption for the image is obtained from the 'description' property. analysis = response.json() print(json.dumps(response.json())) image_caption = analysis["description"]["captions"][0]["text"].capitalize() # Display the image and overlay it with the caption. image = Image.open(BytesIO(requests.get(image_url).content)) plt.imshow(image) plt.axis("off") _ = plt.title(image_caption, size="x-large", y=-0.1) plt.show() {"categories": [{"name": "building_", "score": 0.9140625, "detail": {"landmarks": [{"name": "Eiffel Tower", "confidence": 0.9992201328277588}]}}], "color": {"dominantColorForeground": "Grey", "dominantColorBackground": "Grey", "dominantColors": ["Grey"], "accentColor": "837248", "isBwImg": false, "isBWImg": false}, "description": {"tags": ["outdoor", "sky", "building", "tower", "stone"], "captions": [{"text": "a tall metal tower with Eiffel Tower in the background", "confidence": 0.44687342643737793}]}, "requestId": "95c6c9b4-05ce-4713-b95f-1eb7240af6dd", "metadata": {"height": 854, "width": 480, "format": "Jpeg"}} ``` ![](https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=2342972444,2094691462&fm=26&gp=0.jpg) 2.分析本地图片 ``` import os import sys import requests # If you are using a Jupyter notebook, uncomment the following line. # %matplotlib inline import matplotlib.pyplot as plt from PIL import Image from io import BytesIO # Add your Computer Vision subscription key and endpoint to your environment variables. # if 'COMPUTER_VISION_SUBSCRIPTION_KEY' in os.environ: # subscription_key = os.environ['COMPUTER_VISION_SUBSCRIPTION_KEY'] # else: # print("\nSet the COMPUTER_VISION_SUBSCRIPTION_KEY environment variable.\n**Restart your shell or IDE for changes to take effect.**") # sys.exit() # if 'COMPUTER_VISION_ENDPOINT' in os.environ: # endpoint = os.environ['COMPUTER_VISION_ENDPOINT'] # analyze_url = endpoint + "vision/v2.1/analyze" # Set image_path to the local path of an image that you want to analyze. image_path = "sz.jpg" # Read the image into a byte array image_data = open(image_path, "rb").read() headers = {'Ocp-Apim-Subscription-Key': "468d759e28ae4bea824458a8751f20d4", 'Content-Type': 'application/octet-stream'} params = {'visualFeatures': 'Categories,Description,Color'} response = requests.post( analyze_url, headers=headers, params=params, data=image_data) response.raise_for_status() # The 'analysis' object contains various fields that describe the image. The most # relevant caption for the image is obtained from the 'description' property. analysis = response.json() print(analysis) image_caption = analysis["description"]["captions"][0]["text"].capitalize() # Display the image and overlay it with the caption. image = Image.open(BytesIO(image_data)) plt.imshow(image) plt.axis("off") _ = plt.title(image_caption, size="x-large", y=-0.1) {'categories': [{'name': 'outdoor_', 'score': 0.0078125, 'detail': {'landmarks': []}}, {'name': 'outdoor_waterside', 'score': 0.796875, 'detail': {'landmarks': []}}], 'color': {'dominantColorForeground': 'Grey', 'dominantColorBackground': 'Black', 'dominantColors': ['Black', 'Grey'], 'accentColor': '2A71A1', 'isBwImg': False, 'isBWImg': False}, 'description': {'tags': ['water', 'outdoor', 'tree', 'boat', 'house', 'lake', 'pond', 'nature', 'docked', 'old', 'surrounded', 'waterside', 'lined', 'resort', 'several'], 'captions': [{'text': 'a pond with a house and trees around it', 'confidence': 0.3731369376182556}]}, 'requestId': 'f64657ac-8807-46e8-aa67-f2b102eae2c4', 'metadata': {'height': 220, 'width': 593, 'format': 'Jpeg'}} ``` ![](data:image/jpeg;base64,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) 3.生成缩略图 ``` import os import sys import requests # If you are using a Jupyter notebook, uncomment the following line. # %matplotlib inline import matplotlib.pyplot as plt from PIL import Image from io import BytesIO # Add your Computer Vision subscription key and endpoint to your environment variables. # if 'COMPUTER_VISION_SUBSCRIPTION_KEY' in os.environ: # subscription_key = os.environ['COMPUTER_VISION_SUBSCRIPTION_KEY'] # else: # print("\nSet the COMPUTER_VISION_SUBSCRIPTION_KEY environment variable.\n**Restart your shell or IDE for changes to take effect.**") # sys.exit() # if 'COMPUTER_VISION_ENDPOINT' in os.environ: # endpoint = os.environ['COMPUTER_VISION_ENDPOINT'] thumbnail_url = "https://pcversion.cognitiveservices.azure.com/" + "vision/v2.1/generateThumbnail" # Set image_url to the URL of an image that you want to analyze. image_url = "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1416271079,4262741207&fm=26&gp=0.jpg" headers = {'Ocp-Apim-Subscription-Key': "468d759e28ae4bea824458a8751f20d4"} params = {'width': '100', 'height': '100', 'smartCropping': 'true'} data = {'url': image_url} response = requests.post(thumbnail_url, headers=headers, params=params, json=data) response.raise_for_status() thumbnail = Image.open(BytesIO(response.content)) # Display the thumbnail. plt.imshow(thumbnail) plt.axis("off") # Verify the thumbnail size. print("Thumbnail is {0}-by-{1}".format(*thumbnail.size)) ``` Thumbnail is 100-by-100 ![](https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1416271079,4262741207&fm=26&gp=0.jpg)
六、学习人脸识别和计算机视觉心得体会
* API(Application Programming Interface,应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。 [1] 用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。基于互联网的应用正变得越来越普及,在这个过程中,有更多的站点将自身的资源开放给开发者来调用。对外提供的API 调用使得站点之间的内容关联性更强,同时这些开放的平台也为用户、开发者和中小网站带来了更大的价值。 * api对于我来言是有挑战性的。不知何时蹦出来的401,400,还有明明今天是200,下一次又变化的400。真的非常考验我的心态。唯有不断试错,才能除错。在这个过程里,我的python代码能力也在不断提升。其次,查看api文档的能力也很重要,老师只是带进门,主要内容还是需要自己摸索。