TypeError: ожидаемый cv :: UMat для аргумента 'img' - PullRequest
0 голосов
/ 07 мая 2020

Я хочу протестировать свой 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 не знаю, как решить эту ошибку, может ли кто-нибудь мне помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...