请求传参部分:
flask部署服务传入图像及其解析方式
api_url = 'http://0.0.0.0:5000/api'
img_path = './10502.jpg'
with open(img_path, 'rb') as f:
image_base64 = base64.b64encode(f.read())
# resp = requests.post(api_url, files={'image_file': open(img_path, 'rb')}) # image_file
resp = requests.post(api_url, data={'image_base64': image_base64}) # base64
pprint(JSONDecoder().decode(resp.content.decode('utf-8')))
接口内相关解析:
with open(img_path, 'rb') as f:
a = f.read()
# 二进制数据流转np.ndarray [np.uint8: 8位像素]
img = cv2.imdecode(np.frombuffer(a, np.uint8), cv2.IMREAD_COLOR)
cv2.imwrite('cv.jpg', img)
# 解析图像相关数据
if 'image_base64' in request.form.keys():
image_base64 = request.form.get('image_base64')
src = np.fromstring(base64.b64decode(image_base64), np.uint8)
elif 'image_file' in request.files.keys():
img = request.files['image_file']
print("img type:", type(img))
src = np.fromfile(img, np.uint8)