HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Поиск изображения по образцу
  #1  
Старый 03.09.2009, 18:18
Hwma
Новичок
Регистрация: 07.07.2009
Сообщений: 26
С нами: 8865973

Репутация: 0
По умолчанию Поиск изображения по образцу

Помогите пожалуйста составить алгоритм поиска изображения в изображении. Есть изображение (картинка) и есть образец другого изображения, который может присутствовать на исходном изображении. Каким образом можно найти этот образец на изображении? Придумал пока только такой вариант, что из образца возьму одну строчку шириной в 1 пиксель и буду попиксельно читать исходное изображение в поисках этой строчки. А как найти прямоугольник?
 
Ответить с цитированием

  #2  
Старый 03.09.2009, 19:09
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
С нами: 10048706

Репутация: 1540


По умолчанию

нейросети, детка
 
Ответить с цитированием

  #3  
Старый 03.09.2009, 21:32
St0nX
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
С нами: 9989619

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

Для чего тебе такой алгоритм? Если для распознания капчи то тебе в сторону скелетизации изображения копать надо...
 
Ответить с цитированием

  #4  
Старый 03.09.2009, 21:53
St0nX
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
С нами: 9989619

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

Можно попробовать представить секцию в Image в файле bmp в виде матрицы и искомое изображение тоже. Далее блоками сравнивать и сдвигать.
 
Ответить с цитированием

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

Репутация: 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..
 
Ответить с цитированием

  #6  
Старый 05.09.2009, 13:12
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
С нами: 9023100

Репутация: 395


По умолчанию

совет - копай в сторону OpenCV
 
Ответить с цитированием

it's temptetion
  #7  
Старый 05.09.2009, 15:25
imbd852
Banned
Регистрация: 04.09.2009
Сообщений: 1
С нами: 8781611

Репутация: -5
Arrow it's temptetion

you guys are really tempt me!


















--------------------------------------------------------------------------------------------
lace front wigs wedding dress synthetic wigs
 
Ответить с цитированием

  #8  
Старый 06.09.2009, 00:20
Hwma
Новичок
Регистрация: 07.07.2009
Сообщений: 26
С нами: 8865973

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

Придумал такой алгоритм, берется первая строчка пикселов изображения, которое ищем, построчно в исходном изображении ищем ету строчку, как только нашли, вырезаем из исходного изображения прямоугольник с размерами искомого изображения и левым верхним углом начинающимся в начале найденной пиксельной строки, ну и затем сравниваем два етих прямоугольника.
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ziipa: поиск по популярным сайтам jerrri Мировые новости. Обсуждения. 3 09.06.2009 23:10



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.