PaddlePaddle(飛槳)一鍵部署face_landmark_localization模型

PaddlePaddle(飛槳)一鍵部署face_landmark_localization模型

 

face_landmark_localization模型很好用,最近使用到一鍵部署,沒有找到比較詳細的講解,幾經琢磨,找到辦法。舉例如下

# 美顏 def meiyan_fun(filename, selected_meiyan): source_img_path = filename t = time.time() dst_filename = str(t) + '.' + source_img_path.split('.')[-1] new_img_filename = 'meiyan' + dst_filename new_img_path = os.path.join(basepath, 'static/images/target', new_img_filename) src_img = cv2.imread(source_img_path) url = "http://127.0.0.1:8866/predict/face_landmark_localization" data = {'images': [cv2_to_base64(cv2.imread(source_img_path))]} headers = {"Content-type": "application/json"} r = requests.post(url=url, headers=headers, data=json.dumps(data)) # 打印預測結果 result = r.json()["results"] data = result[0]['data'][0] face_landmark = np.array(data, dtype='int') if isinstance(selected_meiyan, str): # 瘦臉 if selected_meiyan == '4': src_img = thin_face(src_img, face_landmark) cv2.imwrite(new_img_path, src_img) # 美白 elif selected_meiyan == '2': src_img = whitening(src_img, face_landmark) cv2.imwrite(new_img_path, src_img) # 在瘦臉的基礎上,繼續放大雙眼 elif selected_meiyan == '3': enlarge_eyes(src_img, face_landmark, radius=13, strength=13) cv2.imwrite(new_img_path, src_img) # 全套 elif selected_meiyan == '1': src_img = whitening(src_img, face_landmark) # cv2.imwrite(new_img_path, src_img) enlarge_eyes(src_img, face_landmark, radius=13, strength=13) cv2.imwrite(new_img_path, src_img) else: raise Exception('選擇設置有誤') else: raise Exception('設置有誤') print('美顏照已生成,已保存到' + new_img_path) return new_img_filename

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章