Все действия производятся с помощью imagemagick
выделить палитру с трех картинок
convert 01.tif -colors 255 -unique-colors 01pal.tif
convert 02.tif -colors 255 -unique-colors 02pal.tif
convert 03.tif -colors 255 -unique-colors 03pal.tif
слить палитры в одну картину
montage 01pal.tif 02pal.tif 03pal.tif -geometry 255x1 010203palsrc.tif
сузить общую палитру до 255 цветов
convert 010203palsrc.tif -colors 255 -unique-colors 010203pal.tif
этой палитрой преобразовать исходные картинки
convert 01.tif -colors 255 -map 010203pal.tif 01p255с.tif
convert 02.tif -colors 255 -map 010203pal.tif 02p255с.tif
convert 03.tif -colors 255 -map 010203pal.tif 03p255с.tif
Одна индексированная палитра для схожих по цвету - решение?
-
- Участник
- Сообщения: 82
- Зарегистрирован: 22 сен 2008, 20:41
- Репутация: 1
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Одна индексированная палитра для схожих по цвету - решение?
Если через утилиты GDAL, то берем один "представительный" растр (или склеиваем несколько).
Его переводим его в палитру 255:
Получили растр palette.tif. А по его палитре преобразуем остальные:
Цветов 255. Для nodata используется 256-й (если считать от 0, то - 255-й). Т.к. rgb2pct с параметром "-pct" 256-й цвет не задает, то его в редакторе (GIMP, Photoshop, etc) меняем на какой-нибудь контрастный - например, кислотно-зеленый (чтобы он нигде не использовался). И потом его можно использовать, например:
gdalwarp -dstnodata 255.
P.S. Знак "^" - конец строки для cmd-файлов в windows, для shell-скриптов в linux он будет "\".
Его переводим его в палитру 255:
Код: Выделить всё
rgb2pct.py ^
-n 255 ^
-of GTiff ^
etalon.tif palette.tif
Код: Выделить всё
rgb2pct.py ^
-pct palette.tif ^
-of GTiff ^
source.tif output.tif
gdalwarp -dstnodata 255.
P.S. Знак "^" - конец строки для cmd-файлов в windows, для shell-скриптов в linux он будет "\".
лангольеры под окном жрали время ом-ном-ном
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 16 гостей