|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Andrzej Novosiolov 2:5020/400 06 Aug 2001 11:35:02 To : Igor Myslovsky Subject : Re: Алгоpитм для обpаботки изобpажения. -------------------------------------------------------------------------------- On Sun, 05 Aug 2001 21:42:10 +0400, Igor Myslovsky wrote: MT>> 1. Шерстим по всему полю, инкрементируя в массиве весА попадающихся MT>> цветов > Изобpажение в фоpмате RGB 8:8:8bit. Какой же это масив нужен ? Если выделять по 4 байта на счётчик - 64M. По нынешним временам даже не смертельно :), хотя всё ещё и напряжно на большинстве машин. Поэтому лучше использовать какой-нибудь вариант со связными списками. В наихудшем случае (все пикселы разных цветов) потребуется 4*X*Y байт под счётчики, плюс накладные расходы на указатели. Hапример, один из способов - октарные деревья (из каждой вершины выходит не более 8 ветвей): верхний уровень дерева задаёт разделение составляющих RGB по старшему биту, второй уровень - по второму биту etc. Если не нужно абсолютно точное значение цвета, то для двух младших бит можно уровни не достраивать, накапливая суммарные значения счётчиков на шестом уровне дерева (а в качестве образца использовать либо цвет последнего из попавших в эту ветку пикселов, либо вычислять взвешенное среднее по всем пикселам этой ветки). > 2АЛЛ. По какой фоpмуле можно вычислить контpаст RGB цвета?. Hе уверен, что понял вопрос, но на всякий случай вот парочка формул :) Классическое преобразование в greyscale: яркость = 0.31*R + 0.60*G + 0.11*B Квадрат расстояния между цветами = (2+C)*(R2-R1)^2 + 4*(G2-G1)^2 + (3-C)*(B2-B1)^2, где C = (R2+R1)/(2*Rmax) (в случае "8 бит на цвет" Rmax=255) ... 2:463/1124.5@fidonet, ICQ 8481158, http://surf.to/andrzej --- ifmail v.2.15dev5 * Origin: SoftElegance (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/2080c098ff2c.html, оценка из 5, голосов 10
|