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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2011, 15:36   #1
Даниил_глазко
Форумчанин
 
Аватар для Даниил_глазко
 
Регистрация: 25.10.2010
Сообщений: 155
По умолчанию Как узнать что рисунок 1 есть на рисунке 2

Здравствуйте.Как узнать что рисунок 1 есть на рисунке 2.Заренее благодарен.
Даниил_глазко вне форума Ответить с цитированием
Старый 09.08.2011, 16:04   #2
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

Сравнить оба рисунка
bulldog5293 вне форума Ответить с цитированием
Старый 09.08.2011, 16:23   #3
Даниил_глазко
Форумчанин
 
Аватар для Даниил_глазко
 
Регистрация: 25.10.2010
Сообщений: 155
По умолчанию

А примера нет?
Даниил_глазко вне форума Ответить с цитированием
Старый 09.08.2011, 16:26   #4
Даниил_глазко
Форумчанин
 
Аватар для Даниил_глазко
 
Регистрация: 25.10.2010
Сообщений: 155
По умолчанию

Или поправте следующий код:
Код:
procedure TForm1.BitBtn3Click(Sender: TObject);
var
x,y:integer;
sw,xa,ya:integer;
begin
for x:=0 to image1.Width do begin
  for y:=0 to image1.Height do begin
    if image1.Canvas.Pixels[x,y] = image2.Canvas.Pixels[0,0]
    then begin
      for xa:=x to image1.Width do
        for ya:=y to image1.Height do begin
          if image1.Canvas.Pixels[xa,ya]<> image2.Canvas.Pixels[xa-x,ya]
          then begin

          exit;
          exit;
          end
          else caption:='x:'+inttostr(xa)+'y:'+inttostr(ya);
        end;
    end;
  end;
end;
end;
Даниил_глазко вне форума Ответить с цитированием
Старый 09.08.2011, 16:28   #5
Даниил_глазко
Форумчанин
 
Аватар для Даниил_глазко
 
Регистрация: 25.10.2010
Сообщений: 155
По умолчанию

P.S.Простите если ошибка в x,y
Даниил_глазко вне форума Ответить с цитированием
Старый 09.08.2011, 21:39   #6
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

Что то типа этого нужно?
http://www.delphisources.ru/pages/so...-pictures.html
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 09.08.2011, 22:09   #7
Даниил_глазко
Форумчанин
 
Аватар для Даниил_глазко
 
Регистрация: 25.10.2010
Сообщений: 155
По умолчанию

Вы меня не так поняли.Нужно на картинке 2.bmp найти фрагмент 1.bmp.
Изображения
Тип файла: bmp 1.bmp (6.1 Кб, 158 просмотров)
Тип файла: bmp 2.bmp (32.9 Кб, 133 просмотров)
Даниил_глазко вне форума Ответить с цитированием
Старый 10.08.2011, 10:27   #8
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

мы проверяем вторую картинку
Код:
      for xa:=x to x+image2.Width do
        for ya:=y to y+image2.Height do begin
по X смещение учитываем for x:=0 ...
, а кто будет учитывать смещение по Y for y:=0 to ...
Код:
          if image1.Canvas.Pixels[xa,ya]<> image2.Canvas.Pixels[xa-x,ya-y]
или так
Код:
      for xa:=0 to image2.Width do
        for ya:=0 to image2.Height do begin
          if image1.Canvas.Pixels[x+xa, y+ya]<> image2.Canvas.Pixels[xa,ya]
и не учтена возможность НЕПОЛНОГО вхождения (выход второго рисунка за границу первого).
если это именно bitmap, то почему не воспользоваться Tbitmap
Код:
b1:=Image1.Bitmap;
b1:=Tnitmap.Creqte;
b1.LoadFromfile();
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 10.08.2011 в 10:36.
evg_m вне форума Ответить с цитированием
Старый 10.08.2011, 10:50   #9
x128
Форумчанин
 
Регистрация: 03.02.2010
Сообщений: 178
По умолчанию

http://programmersforum.ru/showthread.php?t=106514
x128 вне форума Ответить с цитированием
Старый 10.08.2011, 11:19   #10
Даниил_глазко
Форумчанин
 
Аватар для Даниил_глазко
 
Регистрация: 25.10.2010
Сообщений: 155
По умолчанию

evg_m:Вот что я использую.
Вложения
Тип файла: rar Поиск фрагмента на картинке.rar (174.5 Кб, 15 просмотров)
Даниил_глазко вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать, что Button нажата? shumsheec Общие вопросы Delphi 2 29.06.2011 12:35
как сформировать запрос к базе, что бы узнать есть ли уже такой товар? FACE OFF Помощь студентам 2 10.12.2010 09:35
Как узнать, есть ли в заданном диапазоне буквы... CyberMen Microsoft Office Word 6 14.08.2010 13:29
Как узнать что в содержимое буфера обмена добавилось что либо? zotox Общие вопросы Delphi 2 15.09.2009 12:07
как узнать координаты в рисунке? motaro Паскаль, Turbo Pascal, PascalABC.NET 2 22.03.2008 06:55