Скажем, у меня есть tiff размером 100000x100000 1 бит (K-канал) с разрешением 2000 точек на дюйм, и я хочу уменьшить его до 200 точек на дюйм. Моим результирующим изображением будет изображение 10000x10000. Означает ли это, что каждые 10 бит в 1-битном изображении соответствуют 1 пикселю в новом изображении? Кстати, я использую libtiff и читаю 1-битный tiff с помощью tiffreadscanline. Спасибо!
уменьшение большого 1-битного tiff до 8-битного оттенка серого / 24 бит
Ответы (2)
Это означает, что каждые 100 бит в 1-битном изображении соответствуют 1 пикселю в новом изображении. Вам нужно будет усреднить значение для области 10x10 1 бит пикселей. Для более плавных оттенков серого лучше усреднить по n битам, где n - битовая глубина вашего целевого пикселя, частично перекрывая вычисленную область с соседними областями (квадраты 16x16 пикселей на расстоянии 10x10 пикселей друг от друга , поэтому их границы накладываются друг на друга для получения гладких 8-битных оттенков серого.)
Важно понимать, почему вы хотите уменьшить масштаб (из-за среды вывода или из-за размера файла?). Как указал SF, цвета / оттенки серого в некоторой степени взаимозаменяемы с разрешением. Если речь идет только о размере файла, сжатие без потерь / с потерями тоже стоит посмотреть ..
Другая вещь - это немного понять характеристики вашего исходного изображения. Например, если исходное изображение растеризовано (как для газетных изображений), вы можете получить неудобные узоры из-за того, что точечная матрица испорчена. Однажды я попытался восстановить изображение старой газеты, и это потребовало много усилий. Я закончил тем, что сначала преобразовал его в шкалу серого, прежде чем улучшать изображение.
Я предлагаю немного поэкспериментировать с VIPS или Irfanview, чтобы найти наилучшие результаты (т. Е. Какие - это влияние определенного алгоритма передискретизации на качество изображения). Причина для этих программ (например, Photoshop) заключается в том, что вы можете экспериментировать с графическим интерфейсом / командной строкой, зная имя / параметры алгоритмов, стоящих за ним. С VIPS вы можете контролировать большинство, если не все параметры.
[Править] TiffDump (поставляется с двоичными файлами LibTiff) - ценный источник информации. Он расскажет вам о порядке байтов и т. Д. Я начал с известного образа. Например, LibTIFF.NET поставляется с множеством тестовых изображений, включая черно-белые (некоторые с 0 = черный, некоторые с 1 = черный). [/Редактировать]