gpt4 book ai didi

python - Flask OpenCV 以字节为单位发送和接收图像

转载 作者:太空宇宙 更新时间:2023-11-03 22:19:34 24 4
gpt4 key购买 nike

我想在我的 flask API 中以字节为单位发送和接收图像。我还想在图像旁边发送一些 json。我怎样才能做到这一点?

以下是我目前的解决方案,但行不通

flask :

    @app.route('/add_face', methods=['GET', 'POST'])
def add_face():
if request.method == 'POST':
# print(request.json)
nparr = np.fromstring(request.form['img'], np.uint8)
print(request.form['img'])
img = cv2.imdecode(nparr, cv2.IMREAD_COLOR)

cv2.imshow("frame", img)
cv2.waitKey(1)

return "list of names & faces"

客户:

def save_encoding(img_file):
URL = "http://localhost:5000/add_face"
img = open(img_file, 'rb').read()

response = requests.post(URL, data={"name":"obama", "img":str(img)})
print(response.content)

产生的错误:

cv2.imshow("frame", img)
cv2.error: OpenCV(3.4.3) /io/opencv/modules/highgui/src/window.cpp:356: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'imshow'

最佳答案

以下对我有用。我没有客户端代码,但我有一个 curl 请求。这应该可以解决问题,

服务器

from flask import request
from PIL import Image
import io

@app.route("/add_face", methods=["POST"])
def predict():
image = request.files["image"]
image_bytes = Image.open(io.BytesIO(image.read()))

客户端

curl -X POST -F image=@PATH/TO/FILE 'http://localhost:5000/add_face'

关于python - Flask OpenCV 以字节为单位发送和接收图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52325679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com