python之百度AI實現人臉識別
阿新 • • 發佈:2019-01-10
最近研究了下opencv,本來準備用c++寫一個人臉搜尋的demo,但是有些包下載不下來,所以轉到python,最近python很火,剛好可以研究一下。
首先配置完python一些列balabala就不贅述了,網上資料一大堆。
這裡有個坑就是,就算電腦裡有opencv,仍然需要用python重新下載一個,pip命令就可以使用。在cmd當中執行下面三個命令。包不大,很快就下載完。如果有error,重新下載一下就好。這裡我也下載了很多次,有的時候速度0kb的時候,ctrl+c然後重新下載即可。
pip install --upgrade setuptools pip install numpy Matplotlib pip install opencv-python
下載完成之後,在cmd當中輸入python→improt cv2回車,如果沒有什麼反應,說明配置成功。
接下來是人臉識別的測試程式碼,將程式碼複製,在任意編譯器中貼上即可。詳細見程式碼。
# -*- coding: UTF-8 -*- from aip import AipFace import cv2 import matplotlib.pyplot as plt # 定義常量 APP_ID = '這裡改成自己的id' API_KEY = '這裡改成自己的AK' SECRET_KEY = '這裡改成自己的SK' # 初始化AipFace物件 aipFace = AipFace(APP_ID, API_KEY, SECRET_KEY) # 讀取圖片,圖片地址和名稱需要自己修改 filePath = "psb.jpg" def get_file_content(filePath): with open(filePath, 'rb') as fp: return fp.read() # 定義引數變數 options = { 'max_face_num': 1, # 影象數量 'face_fields': "age,beauty,expression,faceshape", } # 呼叫人臉屬性檢測介面 result = aipFace.detect(get_file_content(filePath), options) # print(result) # print(type(result)) # 解析位置資訊 location=result['result'][0]['location'] left_top=(location['left'],location['top']) right_bottom=(left_top[0]+location['width'],left_top[1]+location['height']) img=cv2.imread(filePath) cv2.rectangle(img,left_top,right_bottom,(0,0,255),2) cv2.imshow('img',img) cv2.waitKey(0) # plt.imshow(img,"gray") # plt.show()
這樣就大功告成了。
執行一下結果。在cmd中輸入 python 名稱.py 即可執行。這裡我試了一下雙擊工程檔案,依然可以正常執行。
萌新,感謝大牛提供的教程。