TIF 16 bit —> TIF 8 bit

Ответить
mak-vas
Участник
Сообщения: 58
Зарегистрирован: 11 авг 2011, 18:30
Репутация: 0
Откуда: Moscow

TIF 16 bit —> TIF 8 bit

Сообщение mak-vas » 20 окт 2011, 15:24

Собственно вопрос не в том, как преобразовать разрядность. Вот пример команды, которую я использую:

Код: Выделить всё

gdalwarp -t_srs EPSG:4284 -ot Byte file1.tif file2.tif
При этом 8-ми битное изображение на выходе получается "пересвеченным", гистограмма сдвинута. Можно ли как-то автоматически настраивать её во время конвертации,а не после, когда львиная доля информации 16-ти битной картинки уже потеряна?

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: TIF 16 bit —> TIF 8 bit

Сообщение Александр Мурый » 20 окт 2011, 16:02

-- Нашёл тему в списке рассылки, там несколько полезных рецептов:
[gdal-dev] Converting from 16 bit to 8 bit images (best practices?)
-- Сюда же пригодится мануал по гдаловскому формату VRT.
-- Есть упоминавшийся уже интересный набор программ на базе GDAL -- dans-gdal-scripts, там есть утилитка gdal_contrast_stretch. Сказано, что она делает "Contrast stretch and conversion from 16-bit to 8-bit"
Редактор материалов, модератор форума

mak-vas
Участник
Сообщения: 58
Зарегистрирован: 11 авг 2011, 18:30
Репутация: 0
Откуда: Moscow

Re: TIF 16 bit —> TIF 8 bit

Сообщение mak-vas » 21 окт 2011, 11:09

amuriy писал(а):-- Нашёл тему в списке рассылки, там несколько полезных рецептов:
[gdal-dev] Converting from 16 bit to 8 bit images (best practices?)
-- Сюда же пригодится мануал по гдаловскому формату VRT.
-- Есть упоминавшийся уже интересный набор программ на базе GDAL -- dans-gdal-scripts, там есть утилитка gdal_contrast_stretch. Сказано, что она делает "Contrast stretch and conversion from 16-bit to 8-bit"
Спасибо за отклик. Хотелось бы ещё немного помощи. Я линуксоид начинающий, поэтому не знаю, как всё это (dans-gdal-scripts) установить. Гуглил. Не помогло. Я так понимаю, это не делается переносом этих сценариев в /bin?

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: TIF 16 bit —> TIF 8 bit

Сообщение Voltron » 21 окт 2011, 11:33

Код: Выделить всё

./autogen.sh && ./configure && make && make install

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: TIF 16 bit —> TIF 8 bit

Сообщение Александр Мурый » 21 окт 2011, 11:58

voltron опередил :)

Если система Ubuntu версии не ниже 10.04, то dans-gdal-scripts есть в репозиториях. Можно установить простым

Код: Выделить всё

sudo aptitude install dans-gdal-scripts
Как ставить из исходников (для Ubuntu / Debian):
-- надо иметь в системе git и скачать исходники командой

Код: Выделить всё

git clone git://github.com/gina-alaska/dans-gdal-scripts.git
-- дальше заходим в каталог с исходниками и делаем

Код: Выделить всё

./autogen.sh
-- для сборки в системе должен быть установлен пакет libboost-dev, если нет, ставим:

Код: Выделить всё

sudo aptitude install libboost-dev

-- дальше всё традиционно:

Код: Выделить всё

./configure

Код: Выделить всё

sudo make install
По умолчанию ставится в /usr/local/bin/
Последний раз редактировалось Александр Мурый 21 окт 2011, 22:30, всего редактировалось 1 раз.
Редактор материалов, модератор форума

mak-vas
Участник
Сообщения: 58
Зарегистрирован: 11 авг 2011, 18:30
Репутация: 0
Откуда: Moscow

Re: TIF 16 bit —> TIF 8 bit

Сообщение mak-vas » 21 окт 2011, 13:21

Спасибо, поставил из стандартных реп. Но ваши советы по ручной установке подобных программ мне тоже пригодятся в будущем.

Даёт хороший результат при таком раскладе (65536 — столько значений может принимать пиксель, а 32768 — середина 16-ти битной гистограммы).

Код: Выделить всё

gdal_contrast_stretch -histeq 32768 16bit.tif 8bit.tif
Если не использовать параметр histeq, то на выходе изображение у меня получается пересвеченным.

Ответить

Вернуться в «GDAL/OGR»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость