![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сравнение пикселей
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))
корень обычно можно и не извлекать.