SASGIS

Веб-картография и навигация


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001410SAS.Планета[All Projects] Хотелкаpublic25-07-2012 10:3413-10-2015 08:20
ReporterFetser 
Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusconfirmedResolutionopen 
PlatformWindowsOSXPOS VersionSP3
Product Version110418 
Target Version30xxxx.VipFixed in Version 
Summary0001410: Склейка в png с 256 цветной палитрой
DescriptionТайлы карты яндекс имеют 128 уникальных цветов. После склейки картинки размером в экран имеем
 PNG 757 уникальных цветов 24 BPP (размер файла 1,49 Мб) при 8 BPP было бы 460 кб
TagsNo tags attached.
Attached Files

- Relationships
has duplicate 0002394closedvdemidov 8-битный (индексированный) PNG 

-  Notes
(0007888)
Tolik (manager)
25-07-2012 10:40

Было бы полезно при склейке карт (не снимков) в png, т.к. при этом сильно уменьшается размер без существенного ухудшения качества.
А для снимков в jpg 256 цветов недостаточно.
(0007889)
vdemidov (manager)
25-07-2012 10:57

С трудом представляю как это реализовать нормально. Просто для сохранения картинки в 8bpp нужно построить палитру цветов до начала сохранения. Причем в палитре не больше 256 цветов, а сколько их у нас будет по куче тайлов с слоями и метками один бог ведает. Вряд ли многие согласятся ждать в два раза больше времени, пока оно первый раз пройдет по всей картинке и построит гистограмму цветов, а потом по построенной палитре во второй проход склеит саму картинку.
(0007890)
vasketsov (manager)
25-07-2012 11:07

Предусмотреть на будущее постобработку картинок.
А там пусть сам себе каждый хоть в ASCII коды конвертирует и на ютуб выкладывает.
(0007891)
vdemidov (manager)
25-07-2012 11:15

Так уже предусмотрена пост обработка. IBitmapPostProcessingConfig
Сейчас она только гамму, яркость и контрастность подкручивает, но можно и к палитре подгонять.
(0007892)
vasketsov (manager)
25-07-2012 11:35

Я имел в виду чтобы до неё мог юзер дотянуться снаружи программно. Тру плагинъ то есть.
(0007893)
vdemidov (manager)
25-07-2012 11:40

И толку то? Все равно конечный формат нужно что бы склеивалка потом это учитывала. Так что плагин это склейка или экспорт в конечный формат.
(0007894)
vasketsov (manager)
25-07-2012 11:53

Толк - вычисление палитры.
(0007895)
vdemidov (manager)
25-07-2012 11:58

Ну его нафиг. Экспорты и слкейки в конкретные форматы пусть строят палитру какую захотят. Внутри САС.Планеты работать с чем-то кроме 32bpp я смысла не вижу.
(0007899)
Parasite (administrator)
26-07-2012 03:53

>Я имел в виду чтобы до неё мог юзер дотянуться снаружи программно. Тру плагинъ то есть.
А что мешает взять сведенное САСом и пересохранить в том же фотошопе с какой угодно палитрой и постобработкой? Прямо сегодня, всем желающим, и без допиливания САСа. Просто задача имхо настолько локальна и настолько элементарно делается вне САСа, что просить допилить под нее именно сас - ну, я даже и не знаю. Им волю дай - они весь функционал фотошопа перетащить в сас потребуют... :)

PS: Чтобы не было потерь и артефактов - то в сасе сводить не в жпег а в БМП например.
(0007901)
vdemidov (manager)
26-07-2012 05:06

Ну, чисто теоретически, при сведении именно карты в png с палитрой, можно выиграть достаточно много места и времени если писать сразу с правильной палитрой, но как это реализовать я пока не знаю. Например можно перед склейкой получить пару сотен рендомо выбранных тайлов и по ним построить палитру, надеясь на то что выборка достаточно репрезентативная.
(0007904)
Parasite (administrator)
26-07-2012 05:31

>можно перед склейкой получить пару сотен рендомо выбранных тайлов и по ним построить палитру
В итоге ВСЕ области, которые не попали в рандомную выборку и имеют уникальные цвета (например, озеро или еще какая точка\линия на карте, отметки знаков на дорогах и прочее, встречающееся далеко не на каждом тайле - но встречающееся) будут иметь весьма загадочный цвет по сравнению с оригиналом.

Не, как по мне - так лучше гарантированные цвета и бОльший размер файла, чем такая отсебятина. Тем более учитывая то, что операция сведения весьма ресурсоемка, и в случае корявых результатов переделывать ее ни у кого не будет никакого желания. Глюки с корявыми цветами в ГИФе (ныне вылеченные) кажется я сюда добавлял с годик назад, насмотрелся... :)
(0007906)
vdemidov (manager)
26-07-2012 05:33

Ну, я в этом с тобой полностью согласен. Потому и Target Version такую поставил.
(0007931)
Papazol (reporter)
26-07-2012 12:06

Если речь идёт о склейке (а не об отображении в программе), то заморачиваться нет смысла. Ведь склеивают карты не тысячами. Кучи графических программ могут менять количество цветов в картинке. Обработать склееную карту - как два пальца об асфальт. Заодно и сразу будет видно, что получилось, может, глаза бы не глядели, тогда можно оставить оригинал.
(0007938)
vasketsov (manager)
26-07-2012 13:45

>можно перед склейкой получить пару сотен рендомо выбранных тайлов и по ним построить палитру
Именно про это я и писал про плагины. Плагин построения палитры. Общий на всех (ля склеек и экспортов).
(0007963)
Fetser (reporter)
27-07-2012 13:02

Никак не ожидал что простейшая операция "уменьшить цветность" уже склеенного изображения вызовет такие проблемы. Я обрабатываю картинки простым бат файлом из одной строки
start c:\"Program Files"\IrfanView\i_view32.exe "d:\temp\*.png" /bpp=8 /convert="d:\temp\*.png"

Но поскольку в программе уже есть FreeImage.dll это явный моветон использование сторонних программ. Цитата от barazuk

"Пишется мегатулза с использованием FreeImage.
FreeImage_ColorQuantizeEx.

DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ColorQuantizeEx(FIBITMAP *dib, FREE_IMAGE_QUANTIZE quantize FI_DEFAULT(FIQ_WUQUANT),
  int PaletteSize FI_DEFAULT(256), int ReserveSize FI_DEFAULT(0), RGBQUAD *ReservePalette FI_DEFAULT(NULL));


 Можно задавать количество цветов, резервировать предопределенные цвета в палитре. Используются два алгоритма:

Цитата

 Wu, Xiaolin, Efficient Statistical Computations for Optimal Color Quantization. In:
 Graphics Gems, vol. II, p. 126-133. [Online] http://www.ece.mcmaster.ca/~xwu/

 Dekker A. H., Kohonen neural networks for optimal color quantization.
 Network: Computation in Neural Systems, Volume 5, Number 3, Institute of Physics Publishing, 1994. [Online]
http://members.ozemail.com.au/~dekker/NEUQUANT."
(0007964)
zed (manager)
27-07-2012 13:12

Тут есть специфика: FreeImage загружает снимок целиком в память и только потом с ним работает, поэтому в САСе он используется только для работы с тайлами.
В случае же склейки снимков в файл, используются т.н. scanline методы, которые загружают в память только одну строку изображения, что позволяет сохранять снимки больших разрешений при малом использовании оперативки. FreeImage так не умеет, и соответственно, все его возможности в данном случае становятся недоступны.
(0007965)
vdemidov (manager)
27-07-2012 13:13

Вперед. Склейте картинку хотя бы 32000 на 32000 и посмотрите сколько займет эта операция. А скорее всего вообще умрет.
(0007966)
Fetser (reporter)
27-07-2012 13:55

Точно подсунул FreeImage картинку 40000х20000, он меня обматерил и отключился. IrfanView также не смог её даже загрузить, написал недостаточно памяти. Но подобные размеры возможно и нужны для каких то специфических задач. Если даже просмотрщик не в состоянии их показать. Обычные же картинки какие чаще всего приходится клеить это для печати на А4 или А3, также для пересылке по почте. И они имеют размеры где-то 2000х1500 Вот с такими все справляются за секунду. Особой необходимости в этом функционале нет, поскольку уже писал сторонним софтом понижается цветность на раз. Если когда нибудь такой функционал появится и в сас то будет хорошо.

- Users who viewed this issue
User List Anonymous (3289x), vdemidov (1x), VadimK (1x), k-dmitriy (1x), gma (1x)
Total Views 3293
Last View 21-11-2024 22:38

- Issue History
Date Modified Username Field Change
25-07-2012 10:34 Fetser New Issue
25-07-2012 10:40 Tolik Note Added: 0007888
25-07-2012 10:57 vdemidov Note Added: 0007889
25-07-2012 11:00 vdemidov Status new => confirmed
25-07-2012 11:00 vdemidov Product Version .Nightly => 110418
25-07-2012 11:00 vdemidov Target Version => 40xxxx
25-07-2012 11:00 vdemidov Summary Добавить настройку "Количество цветов" при склейке => Склейка в png с 256 цветной палитрой
25-07-2012 11:00 vdemidov Description Updated View Revisions
25-07-2012 11:07 vasketsov Note Added: 0007890
25-07-2012 11:15 vdemidov Note Added: 0007891
25-07-2012 11:35 vasketsov Note Added: 0007892
25-07-2012 11:40 vdemidov Note Added: 0007893
25-07-2012 11:53 vasketsov Note Added: 0007894
25-07-2012 11:58 vdemidov Note Added: 0007895
26-07-2012 03:53 Parasite Note Added: 0007899
26-07-2012 05:06 vdemidov Note Added: 0007901
26-07-2012 05:31 Parasite Note Added: 0007904
26-07-2012 05:33 vdemidov Note Added: 0007906
26-07-2012 12:06 Papazol Note Added: 0007931
26-07-2012 13:45 vasketsov Note Added: 0007938
27-07-2012 13:02 Fetser Note Added: 0007963
27-07-2012 13:12 zed Note Added: 0007964
27-07-2012 13:13 vdemidov Note Added: 0007965
27-07-2012 13:55 Fetser Note Added: 0007966
30-03-2014 08:44 vdemidov Relationship added has duplicate 0002394
13-10-2015 08:20 vdemidov Target Version 40xxxx => 30xxxx.Vip



Copyright © 2007 - 2024 SAS.Planet Team