時下我們不得不承認,科技的發展對現代生活有著決定性的影響。令人喜憂參半的是,科技變化之快,讓我們幾乎無法跟上其腳步,更不用說預測未來了。影響力之大和最吸引人的技術就是圖像識別,圖像識別技術是人工智慧的一個重要領域,它是指利用計算機對圖像進行處理、分析和理解,以識別各種不同模式的目標和對象的技術。今天以女神宋慧喬的兩張不同照片為例,利用python識別其相似度,從而判定是否是同一人,同時讓我們對圖像識別有個初步的了解,什麼?照片可以換蒼老師和波老師嗎?我懷疑你們在開車,可是我沒有證據!
1、開發環境:windows pycharm
2、需要導入標準庫:json base64 requests
3、備註: base64是計算機數據格式模塊(用來做數據傳輸)
import json
import base64
import requests
with open("1.jpg", "rb") as f:
pic1 = f.read()
with open("2.jpg", "rb") as f:
pic2 = f.read()
image_data = json.dumps(
[
{"image": str(base64.b64encode(pic1), "utf-8"), "image_type": "BASE64", "face_type": "LIVE", "quality_control": "LOW"},
{"image": str(base64.b64encode(pic2), "utf-8"), "image_type": "BASE64", "face_type": "IDCARD", "quality_control": "LOW"},
]
)
備註:quality_control 控制臺類型 IDCARD證件照 LIVE生活照
上面的代碼為固定格式,其中face_type類型可隨意選LIVE或 IDCARD
拼接API接口:此接口屬於商用是花錢買的, 第二個連結中access_token=需要的數據 要從第一個連結中獲取
get_token = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=lVfov6E1oaWZR9f4qIhd9Hjy&client_secret=Gubrc6RnMTdA3Eb8WumHIGrz4vHgCTdy"
API_url = "https://aip.baidubce.com/rest/2.0/face/v3/match?access_token="
導入requests庫發送post請求,並賦值給text
text = requests.get(get_token).text
將json數據轉化成python數據 用鍵值對取值的方法獲取access_token的值,並重新賦值給access_token
access_token = json.loads(text)['access_token']
url = API_url + access_token
response = requests.post(url, image_data)
score = json.loads(response.text)['result']['score']
根據相似度,如果相似度大於90,則判斷是同一個人,否則不是
if score > 90:
print("圖片相似度為:%s, 同一個人" % score)
else:
print("圖片相似度為:%s, 不是同一個人" % score)
想自行測試的小夥伴,這裡有完整代碼,希望可以幫到你!
如果你喜歡本文,請分享到朋友圈,想要獲得更多信息,請關注我。