gpt4 book ai didi

image - 使用 CV2 读取图像文件(文件存储对象)

转载 作者:行者123 更新时间:2023-12-03 15:35:22 26 4
gpt4 key购买 nike

我正在通过 curl 将图像发送到 flask 服务器,我正在使用此 curl 命令

curl -F "file=@image.jpg" http://localhost:8000/home

我正在尝试在服务器端使用 CV2 读取文件。

在服务器端,我通过此代码处理图像
@app.route('/home', methods=['POST'])
def home():
data =request.files['file']
img = cv2.imread(data)
fact_resp= model.predict(img)
return jsonify(fact_resp)

我收到此错误-
img = cv2.imread(data)
TypeError: expected string or Unicode object, FileStorage found

如何在服务器端使用 CV2 读取文件?

谢谢!

最佳答案

我在使用带有 flask 服务器的 opencv 时遇到了类似的问题,首先我将图像保存到磁盘并使用保存的文件路径再次使用 读取该图像cv2.imread()

这是一个示例代码:

data =request.files['file']
filename = secure_filename(file.filename) # save file
filepath = os.path.join(app.config['imgdir'], filename);
file.save(filepath)
cv2.imread(filepath)

但现在我从 here 得到了更有效的方法通过使用 cv2.imdecode() 从 numpy 数组中读取图像,如下所示:
#read image file string data
filestr = request.files['file'].read()
#convert string data to numpy array
npimg = numpy.fromstring(filestr, numpy.uint8)
# convert numpy array to image
img = cv2.imdecode(npimg, cv2.CV_LOAD_IMAGE_UNCHANGED)

关于image - 使用 CV2 读取图像文件(文件存储对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47515243/

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