Как мне кодировать / декодировать формат Webp в памяти, используя Opencv на Python? - PullRequest
1 голос
/ 03 июля 2019

Я пытаюсь загрузить в память 90 000 изображений в формате webp и декодировать по мере необходимости для увеличения скорости. Однако я не могу получить следующий тестовый код для декодирования закодированного формата. Буду признателен за любой указатель.

img = cv2.imread(file)
retval, buf = cv2.imencode(".webp", img, [cv2.IMWRITE_WEBP_QUALITY, 100])
img = cv2.imdecode(buf, 1)

imdecode_ (''): невозможно прочитать данные: OpenCV (4.1.0) /io/opencv/modules/imgcodecs/src/grfmt_webp.cpp:164: ошибка: (-215: подтверждение не выполнено) data.rows == 1 в функции 'readData'

Ответы [ 2 ]

1 голос
/ 03 июля 2019

Согласно документу , вы должны сделать:

retval, buf = cv2.imencode(".webp", 
                           img, 
                           [cv2.IMWRITE_WEBP_QUALITY, 100])

img = cv2.imdecode(buf, 1)
0 голосов
/ 17 июля 2019

Это ошибка OpenCV, и, похоже, исправление будет включено в будущий выпуск.

https://github.com/opencv/opencv/issues/14978

https://github.com/opencv/opencv/pull/14989

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