写真の顔を認識し

リクエストのインポート
インポートbase64で
インポートJSON
インポートCV2
#リクエストURL
request_url =「https://aip.baidubce.com/rest/2.0/face/v3/detect」
#絵がバイナリストリームであるので、それは、base64形式に変換する必要があります
(オープンでF AS '1.JPG'、 'RB'):
base64_data = base64.b64encode(達し、f.read())
image64data base64_data.decode =()
#POSTリクエストのパラメータが通過する必要
のparams = { 'イメージ':image64dataを 、「のimage_type ':' BASE64 '' face_field ':' landmark150「}
のURLに必要なトークン値
access_tokenは.98a7279f2b40afdca84975c2132b61ff.2592000.1565942701.282335-16822507 = '24'
のURLスプライス
request_url = request_url + "= access_tokenは?" + access_tokenは
ヘッダー= { 'Content-Typeの': 'アプリケーション/ JSON '}
= requests.post応答(URL = request_url、ヘッダー=ヘッダ、paramsは=データ)
応答IF:
#1 JSON形式の文字列が変換されるので、これを直接使用response.json()メソッド
データ= response.json()
#値の
結果は=データ[ '結果']
は、データに対する要求、および顔の数があると判定された1。
IF及び[ 'face_num'] == 1結果結果:
LOCATIONは= [ 'face_listを']結果[0] [ ' LOCATION「]
利用VC2モジュール、モジュールはVC2ピクチャツール編集される
イメージ= cv2.imread(」1.JPG「)を
#は、INTにint型の着信パラメータ、すべての強いので、必要とされる
左= INT(LOCATION [ '左'])
トップ= INT(LOCATION [ 'トップ'])
幅= INT(LOCATION [ '幅'])
高さ= INT(位置[ '高さ'])
#顔矩形描画使用CV2
#パラメータ:顔データ、(左の顔の位置、トップ位置に直面)(右の顔の位置、位置をフェイスダウン)(色値)
cv2.rectangle(画像、( 、トップ)左、(左+幅、トップ+高さ)、(0,0,255)、1)
は、フォルダに良い絵を描きます
cv2.imwrite( '2.JPG'、画像)
#顔を描きます150ポイント
landmark150結果= [ 'face_list'] [0] [ 'landmark150']
points_list = []
プリント(landmark150)
landmark150でIの場合:
プリント(I)
points_list.append(landmark150 [I])
points_list点での場合:
#パラメータ:イメージ、中心座標、ポイントサイズの半径、色、線の太さ、
X = INT(点[ 'X'])
Y = INT(点[ 'Y'])
cv2.circle(画像、(X、Y),. 1、(0,255,1),. 3)
cv2.imwrite( 'face150.jpg'、画像)格納された画像#

おすすめ

転載: www.cnblogs.com/xiaoxiaoxl/p/11203278.html