Страница 1 из 2
					
				Объединение каналов в один файл
				Добавлено: 01 сен 2009, 14:45
				 Aleksander
				Подскажите, пожалуйста, есть ли бесплатные программы под Linux, позволяющие объединять отдельные каналы в один файл (как Layer Stack в ERDAS).
			 
			
					
				Re: Объединение каналов в один файл
				Добавлено: 01 сен 2009, 15:12
				 Mavka
				Вроде бы 
gdal_merge может такое:
Код: Выделить всё
gdal_merge.py -seperate red.tif nir.tif mir.tif -o stack.tif
 
			
					
				Re: Объединение каналов в один файл
				Добавлено: 03 сен 2009, 15:50
				 Aleksander
				Спасибо, Mavka, программа работает. Значения пикселей по каналам совпадают с результатами объединения каналов с помощью ERDAS.
Однако привязка полученного изображения получается по обоим осям смещенной, по-видимому, ровно на половину разрешения пикселя (проверил только для снимков Landsat - смещение было 15 м). Использовал  gdal_merge.py в составе FWTools 2.0.6 (Linux x86 32bit). Неужели программа рассчитывает при привязке координаты угла пикселя? Или это ошибка программы?
			 
			
					
				Re: Объединение каналов в один файл
				Добавлено: 03 сен 2009, 16:04
				 Mavka
				Не проверял. Могу лишь предложить перепрошить заголовок с правильной привязкой.
Была какая то программа, которая брала заголовок одного tiff'а и пришивала его в другой.
Никак не могу вспомнить какая, но вот здесь - 
libgeotiff предлагают две:
listgeo и geotifcp - одна сохраняет, другая загружает.
 
			
					
				Re: Объединение каналов в один файл
				Добавлено: 04 сен 2009, 15:30
				 pendduduk
				На самом деле это известная фитча...
GeoTransform (начало координат изображения) может задаваться двумя способами:
1. Левый-верхний угол 1-го (верхнего левого) пикселя растра.
2. Центр 1-го пикселя.
О том какой именно способ используется должно быть сказано в документации к ПО, GDAL использует второй.
Какой программный продукт вы используете для проверки?
			 
			
					
				Re: Объединение каналов в один файл
				Добавлено: 04 сен 2009, 15:41
				 Aleksander
				В использованных мною снимках Landsat привязка происходит по центру пикселя (обрабатывались в USGS с помощью LPGS_10.0.0), а после использования gdal_merge.py получилось смещение +15 м по оси x и -15 м по оси y. Привязку смотрел в ERDAS IMAGINE 8.7.
			 
			
					
				Re: Объединение каналов в один файл
				Добавлено: 04 сен 2009, 15:56
				 pendduduk
				Возможно питоновская реализация глючит, я в свое время делал такую утилитку, если надо могу поискать...
			 
			
					
				Re: Объединение каналов в один файл
				Добавлено: 04 сен 2009, 16:01
				 Aleksander
				Было бы интересно посмотреть
			 
			
					
				Re: Объединение каналов в один файл
				Добавлено: 04 сен 2009, 16:05
				 pendduduk
				куда положить?
			 
			
					
				Re: Объединение каналов в один файл
				Добавлено: 04 сен 2009, 16:19
				 pendduduk
				вот ловите...
Нужно положить рядом GDAL16.dll (ее найти не трудно, например утянуть с официального сайта 
http://gdal.org),
Далее в ком. строке запускаем утиль в качестве аргумента пихаем каналы ландсата или иконоса или пофиг чего.
 
			
					
				Re: Объединение каналов в один файл
				Добавлено: 04 сен 2009, 16:22
				 Aleksander
				Спасибо!
			 
			
					
				Re: Объединение каналов в один файл
				Добавлено: 04 сен 2009, 16:24
				 pendduduk
				отпишите по результатам
			 
			
					
				Re: Объединение каналов в один файл
				Добавлено: 08 сен 2009, 11:10
				 Aleksander
				Результаты точно такие же, как при использовании gdal_merge.py (значения пикселей правильные, но есть смещение привязки).
			 
			
					
				Re: Объединение каналов в один файл
				Добавлено: 08 сен 2009, 11:56
				 pendduduk
				Aleksander писал(а):Результаты точно такие же, как при использовании gdal_merge.py (значения пикселей правильные, но есть смещение привязки).
если у вас есть утилиты gdal, запустите пожалуйста команду gdalinfo в качестве аргумента укажите первый канал который стыкуете, запишите параметры которые выплюнет прога, затем сделайте тоже самое но с получившимся файлом. И сравните координаты. Они должны быть одинаковыми!
Дело в том, что я просто читаю то что записано в первом файле и записываю в выходной.
 
			
					
				Re: Объединение каналов в один файл
				Добавлено: 08 сен 2009, 13:18
				 Aleksander
				В самом деле одинаковые, если сравнивать с помощью gdalinfo.
Однако теперь (сравнивая с помощью gdalinfo) смещенными получаются результаты объединения с помощью ERDAS 

 .