Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Быстро сравнение изображений


Автор: Sh User 6.12.2004, 00:03
Сабж...
Помогите с написание функции для очень быстрого сравнения изображений.
Экран делится на опр. кол-во частей. Далее требуется со скоростью примерно 10 раз в секунду проверить были ли изменения изображения в кажой части экрана.

Автор: Illusion Dolphin 7.12.2004, 16:50
А хотя бы так, хотя на асме можно быстрее проверить, это p0s0l тебе может написать:
Код

Type
 TRGB=record
 b,g,r : byte;
 end;

   ARGB=array [0..1] of TRGB;
   PARGB=^ARGB;
   PRGB = ^TRGB;

function 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;

Автор: Sh User 7.12.2004, 23:28
Огромное спасибо! smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)