Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2013, 19:37   #1
Alexandr555
Форумчанин
 
Регистрация: 23.03.2011
Сообщений: 310
По умолчанию Поиск картинки в картинке

Накидал код для поиска картинки в картинке, формат изображения jpg
но вырезал из изображения кусок, но он его почему то не находит хотя в одном и том же изображении находит совпадение, в чем проблема?
Код:
procedure TForm1.Timer2Timer(Sender: TObject);
var
fl: TStringList;
i,j: integer;
begin
Timer2.Enabled:=false;
Fl:=TStringList.Create;
Search('C:\**',fl);
jpg1.LoadFromFile('C:\***\test1.jpg');
BT1.Assign(JPG1);
jpg2.LoadFromFile('C:\***\test2.jpg');
BT2.Assign(JPG2);
for i:=0 to BT1.Height - BT2.Height do
 for j:=0 to BT1.Width - BT2.Width do
  begin
   if BT1.Canvas.Pixels[j,i]=BT2.Canvas.Pixels[0,0] then
   if CheckImage(i,j) then ShowMessage('Успех!');
  end;
fl.Free;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
jpg1 := TJPEGImage.Create;
jpg2 := TJPEGImage.Create;
BT1:=TBitMap.Create;
BT2:=TBitMap.Create;
end;
 
function TForm1.CheckImage(h, w: integer): boolean;
var
i,j,mh,mw: integer;
begin
result:=false;
mh:=h+BT2.Height-1;
mw:=w+BT2.Width-1;
result:=true;
for i:=h to mh do
 for j:=w to mw do
  begin
   if (BT1.Canvas.Pixels[j,i]<>BT2.Canvas.Pixels[j-w,i-h]) then
    begin
     result:=false;
     exit;
    end;
  end;
end;
Alexandr555 вне форума Ответить с цитированием
Старый 04.03.2013, 10:09   #2
x128
Форумчанин
 
Регистрация: 03.02.2010
Сообщений: 178
По умолчанию

http://programmersforum.ru/showpost....65&postcount=2
x128 вне форума Ответить с цитированием
Старый 04.03.2013, 15:49   #3
Alexandr555
Форумчанин
 
Регистрация: 23.03.2011
Сообщений: 310
По умолчанию

проблему я уже нашел, jpg со своим сжатием не одинаковые цвета делает
Alexandr555 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кириллиц на картинке Kostia PHP 4 29.10.2012 13:01
Поиск фрагмента изображения на картинке banderas.antonio C# (си шарп) 3 07.05.2011 18:45
Текст на картинке bulldog5293 Общие вопросы Delphi 4 25.04.2011 20:52
Отображение картинки на кнопке WPF. Загрузка картинки из ресурсов. Проблема с Uri. Casper-SC Общие вопросы .NET 0 27.06.2010 23:11
Поиск объекта на картинке Terran Общие вопросы Delphi 3 21.05.2010 16:35