Показать сообщение отдельно

  #5  
Старый 04.09.2009, 04:30
AKYLA
Участник форума
Регистрация: 29.11.2007
Сообщений: 116
Провел на форуме:
283596

Репутация: 88
По умолчанию

На PHP что-то подобное есть
http://habrahabr.ru/blogs/php/55926/

А вообще нейросети конечно нужно, если что посложнее.

Вот кусок на делфи, с какой-то проги, там по базе с фотками сравнивается картинка которую ты подсовываешь:

Код:
Procedure CompareBitmap(Const BitmapA, BitmapB:  TBitmap;
                           VAR Total, Sim, Diff:  Integer);
// Total:total des pixel, Sim:Pixels similaires, Diff:Pixels dirrfents
    Type

      TRGBTripleArray =  ARRAY[WORD] OF TRGBTriple;
      pRGBTripleArray =  ^TRGBTripleArray;

    Var
      i   :  INTEGER;
      j   :  INTEGER;
      RowA:  pRGBTripleArray;
      RowB:  pRGBTripleArray;

  begin

    Assert( (BitmapA.width  = BitmapB.width) AND
            (BitmapA.height = BitmapB.height),  'Different sizes');


    BitmapA.PixelFormat := pf24bit;
    BitmapB.PixelFormat := pf24bit;

    Total  := BitmapA.width * BitmapA.height;

    SIM  := 0;

    Diff := 0;

    For j := 0 to BitmapA.Height-1 do
    begin
      RowA := BitmapA.Scanline[j];
      RowB := BitmapB.Scanline[j];
// pour i do 0 jusqu' la largeur de BitmapA alors
      For i := 0 to BitmapA.Width-1 DO
      begin



        If   RowA[i] = RowB[i] Then

        inc(Sim)

        else inc(Diff)


      End

    End
end;

Последний раз редактировалось AKYLA; 04.09.2009 в 06:46..
 
Ответить с цитированием