Проблема в следующем. Необходимо работать с бинарными изображениями довольно внушительных размеров (100000x100000 пикселей). Изначально делал это с помощью Qt-шного QImage, он поддерживает формат Format_Mono, который хранит изображение как 1-bit per pixel. И в общем-то все было замечательно, пока не оказалось, что QPainter имеет ограниченный растеризатор и рисовать на изображениях чей размер больше short
(32767x32767) нельзя, оно просто обрезается. Соответственно, я не смог объединить изображений больше чем на 32767x32767. Затем, я начал присматриваться к отдельным библиотекам. OpenCV, как я понял, не поддерживает такой формат. Что касается ImageMagick, то он поддерживает конструирование объекта как 1-bit per pixel и сохранения его в этом же формате. Однако, во время работы с изображением оно все равно хранится как 8bit per pixel и соответственно тут возникает нехватка оперативной памяти. Затем я начал глядеть в сторону CImg, но тут, как я понимаю, для этих целей тоже все печально, ибо как написано на их сайте
the overall size of the used memory for one instance image (in bytes) is then 'width x height x depth x dim x sizeof(T)
Где sizeof(T) ясное дело не может быть меньше sizeof(char), что опять таки не дает работать из-за ограничений по памяти.
Стало интересно, как же QImage в принципе работает со своим Format_Mono форматом, но, честно говоря, я запутался в исходниках.
В общем, вопрос в следующем. Существуют ли библиотеки в которых реализована возможность работы с бинарными изображениями и при этом хранятся они действительно как 1-bit per pixel при работе с ними?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
здравствуйте, есть файл, который до этого частично сортировывалсячастично значит файл состоит, допустим, из такого порядка чисел: 1 2 3 3 5 6 6