Я хочу протестировать свой API, улучшающий изображение. Это мой код:
APP_ROOT = os.path.dirname(os.path.abspath(__file__))
@app.route('/enhanced', methods=['POST'])
def enhanced():
data = {'name': '','success': False}
if request.method == "POST":
image = request.files["image"].read()
name = request.files['image'].name
npimg = np.fromstring(image, np.uint8)
img = cv2.imdecode(npimg, cv2.IMREAD_COLOR)
enhanced_img, crop_img = pipeline(img)
cv2.imwrite(APP_ROOT+'/static/images/'+name+'_enhanced.jpg', enhanced_img)
cv2.imwrite(APP_ROOT+'/static/images/'+name+'_crop_roi.jpg', crop_img)
data['name'] = name
data['success'] = True
return flask.jsonify(data)
И вот как я тестирую его в терминале:
curl -X POST -F image=@/home/input/image.jpg 'http://127.0.0.1:5000/enhanced'
Затем появляется эта ошибка:
File "/home/src/api.py", line 47, in enhanced
cv2.imwrite(APP_ROOT+'/static/images/'+name+'_enhanced.jpg', enhanced_img)
TypeError: Expected cv::UMat for argument 'img'
I не знаю, как решить эту ошибку, может ли кто-нибудь мне помочь.