最近在做图片相似度,需要传送两张图片到服务器,下面分享我的代码示例,首先是client的代码:
import requests
file_path1='./images/051811177sample3.jpg'
file_path2='./images/054130743sample1.jpg'
img1= open(file_path1,'rb')
img2 = open(file_path2,'rb')
res = {"file1":img1,'file2':img2}
#访问服务
res = requests.post("http://0.0.0.0:5005",files=res)
print(res.text)
server端的代码为:
from flask import request, Flask
import base64
import cv2
import numpy as np
import os, datetime, random
from PIL import Image
MEDIA_ROOT='images'
def handle_uploaded_file():
name = str(datetime.datetime.now().strftime('%H%M%S')) + str(random.randint(0, 1000))
return os.path.join(MEDIA_ROOT, name)
app = Flask(__name__)
@app.route("/", methods=['POST','GET'])
def get_frame():
#解析图片数据
# img = base64.b64decode(str(request.form['file1']))
# img=str(request.form['file1'])
file1= request.files['file1']
print(file1)
file_name1=handle_uploaded_file()
print(file_name1)
file_name1='./{}.png'.format(file_name1)
file1.save(file_name1)
file2= request.files['file2']
file_name2=handle_uploaded_file()
print(file_name2)
file_name2='./{}.png'.format(file_name2)
file2.save(file_name2)
# add your code
return {'sim':"0.8"}
if __name__ == "__main__":
app.run("0.0.0.0", port=5005)
希望我的分享对大家有用。