У меня есть некоторый код Python, который выводит много больших изображений, которые должны быть в 16-битном формате. Я хочу, чтобы они были:
1) Возможность просмотра с помощью программного обеспечения для просмотра фотографий (например, Xnview в порядке, но не ImageJ, поскольку его графический интерфейс слишком утомителен).
2) Размер файла должен быть небольшим.
В связи с требованием 1) я рассматриваю вывод изображений в формате jp2 или png. В настоящее время я использую OpenCV для сохранения этих 16-битных изображений. Однако файлы кажутся значительно большими, чем 8-битные JPG с таким же разрешением. Сравнение размера файла выглядит следующим образом:
9827 x 7900 пикселей RGB-изображение:
- 8 бит JPG: 3,77 МБ
- 8 бит jp2: 92 МБ
- 16 бит PNG: 266 МБ
- 16 бит jp2: 308 МБ
Мне интересно, возможно ли сохранить сжатые файлы .jp2 с помощью Python? Если нет, есть ли другие способы сохранения 16-битных изображений, чтобы они не были слишком большими, чем x2 размер изображения jpg? Я могу принять сжатие с потерями и другие языки программирования.