Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Sergey Andrianov                     2:5020/1507.400 09 Oct 2002  20:38:06
 To : Yury Benesh
 Subject : Re: findcolor
 -------------------------------------------------------------------------------- 
 
 
 Однажды 08-Oct-02  в 16:06   Yury Benesh (2:454/21.43)
 написал       All    по поводу
 -=-   findcolor  -=-
 
 YB> дан массiв iз 256 элементов (палiтpа), каждый элемент опiсывает цвет:
 YB> record
 YB> case LongInt of
 YB> 0: b,g,r,align:byte;
 YB> 1: longw:longint;
 YB> end;
 
 YB> пользователь задает r,g,b компоненты цвета, iз данного массiва находiтся
 YB> наiболее блiжнiй цвет i возвpачается его iндекс.
 
 YB> каков будет алгоpiтм?
 YB> пpобовал такой алгоpiтм, котоpый сpабатывает не всегда, не соблюдается
 YB> соотношенiе цветовых составляючiх (т.е. вместо кpасноватого оттенка 
 YB> выбipается сiневатый i т.д.):
 
 YB> pattern:longint; // aling,r,g,b для поiска, запакованные в dword
 YB> newmatch,lastmatch:longint;
 YB> lastcolor:byte;
 
 YB> lastcolor:=0;
 YB> lastmatch:=$0FFFFFFF;
 
 YB> for n:=0 to 255 do
 YB> begin
 YB> newmatch:=abs(pal[n].longw-pattern);
 YB> if newmatch<lastmatch then begin lastmatch:=newmatch;lastcolor:=n;end;
 YB> end;
 
   В общем случае минимизировать надо функцию
   Kr*(R'-R)^N + Kg*(G'-G)^N + Kb*(B'-B)^N
   Обычно принимают, что Kr = 0.3, Kg = 0.59, Kb = 0.11, N = 1, но можно выбрать 
 и свои.
   Твоя формула также подпадает под это определение, только коэффициенты очень
 неудачно подобраны: Kb = 1, Kg = 256, Kr = 65536, в результате чего подбирается 
 цвет максимально близкий по интенсивности красного, а остальными составляющими
 по существу пренебрегается. 
 
                   До свидания,  в  20:30 MSK
                                  Sergey
 
 ---
  * Origin: Sergiev Posad (2:5020/1507.400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 findcolor   Yury Benesh   08 Oct 2002 16:06:20 
 Re: findcolor   Sergey Andrianov   09 Oct 2002 20:38:06 
Архивное /ru.algorithms/52053DA493AE.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional