Здравствуйте!
Снова я с вопросом про пикселя и картинки
Подскажите пожалуйста, как логичней и быстрей (имею в виду код) сделать следующее:
Есть игра. Пытаюсь сделать для нее бота. Выглядит она следующим образом:
каждые 1.5-2.0 секунды, на экране появляются стрелочки которые необходимо нажать. Сначала одна, потом две, три и т.д. до 12.
Была идея сравнивать цвет пикселей для каждой стрелочки по всем возможным позициям (т.е. в 12 местах) но так как я заметил, что цвета пикселей одной и той же стрелки немного отличаются то сделать это будет невозможно.. да и не логично мне кажется в этой ситуации.
Слышал про способ распознавания картинок и даже нашел небольшой код (ниже).. как вы думаете, он уместен в данном случае? Или существует еще более логичный вариант?
Вот код, но он сравнивает прям все до пикселя на идентичность. В случае если вы одобрите этот вариант, заранее спрошу: как его переделать, что б небольшая разница в цвете была допустима?
Код:
function tform1.CompareImages(A,B : TBitmap) : Boolean;
var
i,j : integer;
p1,p2 : PARGB;
begin
Result:=false;
if A.Width<>B.Width then exit;
if A.Height<>B.Height then exit;
for i:=0 to A.Height-1 do
begin
p1:=A.ScanLine[i];
p2:=B.ScanLine[i];
for j:=0 to A.Width-1 do
begin
if not ((p1[j].r=p2[j].r) and (p1[j].g=p2[j].g) and (p1[j].b=p2[j].b)) then exit;
end;
end;
Result:=true;
end;
Заранее спасибо!