Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сравнение пикселей


Nemeziz ©   (2008-03-01 13:24:00) 

Народ возникло пара вопросов:
1. Как правильно сравнивать цвета пикселей ?
2. Отличается ли чем нибудь сравнение типа: (R1 + G1 + B1) = (R2 + G2 + B2) от RGB(R1, G1, B1) = RGB(R2, G2, B2) ?
3. Как при сравнении цвета пикселей можно добавить погрешность сравнения цвета.


korneley   (2008-03-01 18:43:00) [1]


> АИК   (01.03.08 16:15) [3]
> Незнаю как с RGB...

Надо узнать :) В [1] уже написано:"точное совпадение - просто сравнивать TColor"


homm   (2008-03-01 18:28:00) [2]

> [2] Anatoly Podgoretsky ©   (01.03.08 14:10)
> R1 + G1 + B1 -  котлеты

запятая

> [2] Anatoly Podgoretsky ©   (01.03.08 14:10)
> обратно корову не сделаешь


АИК   (2008-03-01 16:15:00) [3]

Незнаю как с RGB но вот так проще всего например так

procedure TForm1.Button1Click(Sender: TObject);
var
c1: TColor;
c2: Tcolor;
begin
c1:= Form1.Canvas.Pixels[1, 1];
c2:= Form1.Canvas.Pixels[1, 2];
Shape1.Brush.Color:=c1;
If c1 = c2 then label1.Caption:= 'Ok';
end;


Anatoly Podgoretsky   (2008-03-01 14:10:00) [4]

> Nemeziz  (01.03.2008 13:24:00)  [0]

R1 + G1 + B1 -  котлеты обратно корову не сделаешь


MBo   (2008-03-01 13:38:00) [5]

точное совпадение - просто сравнивать TColor
приблизительное - выбрать метрику, например, евклидово расстояние в цветовом кубе RGB - корень из суммы квадратов разности составляющих
Sqrt(Sqr(r1-r2)+Sqr(g1-g2)+Sqr(b1-b2))
корень обычно можно и не извлекать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо