Как я могу записать cv2 / Pillow-модифицированное изображение на диск? - PullRequest
0 голосов
/ 31 марта 2020

У меня есть изображение, открытое с помощью Image.open (). Я делаю некоторые изменения, переназначая значения RGV в пикселях, и пытаюсь сохранить.

Когда я пытаюсь сохранить, я получаю:

Trace back (most recent call last):
  File "./shimmer", line 97, in <module>
    cv2.imwrite('/home/christos/portrait-out.jpg', result)
TypeError: Expected Pre<cv::UMat> for argument 'img'

Это происходит, когда изображение было создано, baseline = Image.open('/home/christos/portrait-new-mini.jpg').

При поиске я нашел похожие сообщения ошибки, но нет четкой формулировки «Вот что работает и как и почему».

Я также видел страницы, на которых аналогичная работа выполняется без подобных зарегистрированных трудностей.

Я могу опубликовать свой код, если это запрашивается, но я предполагаю, что проблема узко определяется вызовом cv2.imwrite() и чем-то, что я хочу передать вызову.

1 Ответ

1 голос
/ 31 марта 2020

Похоже, вы открываете изображение в подушке и пытаетесь сохранить изображение подушки в OpenCV. OpenCV ожидает массив numpy. Вы должны сначала преобразовать ваше изображение перед записью в файл с помощью opencv.

Проверьте этот пост: { ссылка }

Я думаю, это решит вашу проблему

...