2016-11-23 6 views
2

В OpenCV можно сохранить изображение на диск с определенным сжатием jpeg. Есть ли способ сделать это в памяти? Или я должен написать функцию, используя cv2.imsave(), которая загружает файл и удаляет его снова с диска? Если кто-то знает лучший способ, который тоже прекрасен.python OpenCV jpeg сжатие в памяти

Использование кейс в режиме реального времени. Использование чего-то другого, кроме OpenCV, приведет к ненужным накладным расходам.

Пример требуемой функции im = cv2.imjpgcompress(90)

ответ

9

Вы можете использовать imencode:

encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), 90] 
result, encimg = cv2.imencode('.jpg', img, encode_param) 

Вы можете декодировать его обратно с:

decimg = cv2.imdecode(encimg, 1) 

фрагмент из here

+0

JPG является потерянным, как его можно декодировать? – Simon

+0

Как вы думаете, что сможете прочитать изображение в формате jpeg? Конечно, это потеря. Вот почему «img» и «decimg» не будут точно такими же ... – Miki

+0

Форма encimg отличается от формы im. Почему это? До: 340 1 080 3 После: 58154 1 – Simon

 Смежные вопросы

  • Нет связанных вопросов^_^