Страница 1 из 1
					
				Преобразование_16_бит_в_8_бит
				Добавлено: 16 июл 2013, 09:20
				 paleogis
				Коллеги, поделитесь опытом. Какие опенсорные утилиты вы используете для преобразования 16 битного изображения в 8 битное?
 Немного погуглил это вопрос, однако однозначного ответа не нашел.
Заранее спасибо за ответы 

 
			
					
				Re: Преобразование_16_бит_в_8_бит
				Добавлено: 16 июл 2013, 09:47
				 Александр Мурый
				— ImageMagick с опцией 
-depth:
Код: Выделить всё
convert picture_16bit.tif -depth 8 picture_8bit.tif 
— 
ImageJ 
			
					
				Re: Преобразование_16_бит_в_8_бит
				Добавлено: 16 июл 2013, 09:51
				 bolotoved
				http://www.gdal.org/gdal_translate.html
Параметр -ot (тип данных выходного растра) нужно выставить Byte, что-то типа:
Код: Выделить всё
gdal_translate -of GTiff -ot Byte file_16bit.tif file_8bit.tif
 
			 
			
					
				Re: Преобразование_16_бит_в_8_бит
				Добавлено: 16 июл 2013, 10:03
				 gamm
				только непонятно, что они с гистограммой сделают, если просто поделят на 256, то будут проблемы. Строго говоря, нужно считать гистограмму (убрав NA), потом делать линейное преобразование 16 битного изображения в диапазон 0-255 (тут опять же есть всякие тонкости, как округлять с учетом соседей), и только потом менять формат. Не уверен, что gdal (тем боле ImageMagick) это делает.
			 
			
					
				Re: Преобразование_16_бит_в_8_бит
				Добавлено: 16 июл 2013, 10:17
				 paleogis
				Спасибо коллеги, пойду тестировать эти утилиты:)
			 
			
					
				Re: Преобразование_16_бит_в_8_бит
				Добавлено: 16 июл 2013, 10:23
				 Александр Мурый
				Проверил: ImageJ сохраняет картинку в 8 bit нормально (насколько я смог сравнить); в случае с IM (gamm был прав) надо добавить параметр 
-auto-level в команду:
Код: Выделить всё
convert picture_16bit.tif -auto-level -depth 8 picture_8bit.tif 
 
			
					
				Re: Преобразование_16_бит_в_8_бит
				Добавлено: 16 июл 2013, 10:43
				 ericsson
				
			 
			
					
				Re: Преобразование_16_бит_в_8_бит
				Добавлено: 16 июл 2013, 11:24
				 paleogis
				Спасибо всем за ответы  
 
 
bolotoved писал(а):http://www.gdal.org/gdal_translate.html
Параметр -ot (тип данных выходного растра) нужно выставить Byte, что-то типа:
Код: Выделить всё
    gdal_translate -of GTiff -ot Byte file_16bit.tif file_8bit.tif
 
 
У меня вопрос на засыпку  относительно GDAL.   Можно ли так извернуться, чтобы при преобразовании  16 бит в  8 бит он не резал гистограмму,  делал auto-level? 

 
			
					
				Re: Преобразование_16_бит_в_8_бит
				Добавлено: 16 июл 2013, 11:45
				 Александр Мурый
				paleogis писал(а):
У меня вопрос на засыпку  относительно GDAL.   Можно ли так извернуться, чтобы при преобразовании  16 бит в  8 бит он не резал гистограмму,  делал auto-level? 

 
Отвечу 
ссылкой на свой же старый пост по идентичной теме.
Короче: утилита 
gdal_contrast_stretch из набора 
dans-gdal-scripts делает, что нужно.
 
			
					
				Re: Преобразование_16_бит_в_8_бит
				Добавлено: 16 июл 2013, 11:50
				 paleogis
				Александр Мурый писал(а):Re: Преобразование_16_бит_в_8_бит
Сообщение Александр Мурый » 4 минуты назад
    paleogis писал(а):У меня вопрос на засыпку относительно GDAL. Можно ли так извернуться, чтобы при преобразовании 16 бит в 8 бит он не резал гистограмму, делал auto-level? 
 
Отвечу ссылкой на свой же старый пост по идентичной теме.
Короче: утилита gdal_contrast_stretch из набора dans-gdal-scripts делает, что нужно.
 
Спасибо, Александр! Искал и не заметил этой темы
 
			
					
				Re: Преобразование_16_бит_в_8_бит
				Добавлено: 16 июл 2013, 14:04
				 paleogis
				Всем спасибо! Проблема решена.
Для преобразования с 16_бит в 8 бит  воспользовался  советом 
bolotoved писал(а):
http://www.gdal.org/gdal_translate.html
Параметр -ot (тип данных выходного растра) нужно выставить Byte, что-то типа:
Код: Выделить всё
    gdal_translate -of GTiff -ot Byte file_16bit.tif file_8bit.tif
 
 
Для переноса настроек гистограммы  постом  в 
этой теме. 
Код: Выделить всё
gdal_contrast_stretch -histeq 32768 16bit.tif 8bit.tif