Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск фрагмента изображения на скриншоте 
:(
    Опции темы
Tokagero
Дата 29.8.2009, 04:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 25.10.2006

Репутация: нет
Всего: нет



ПРограммка пишется для поиска определенных заведомо известных ориентиров на скриншоте для дальшейших действий.
Таких как клики, нажатия с клавиатуры и т.д. (естественно программно), все бы ничего, но встал другой вопрос.
У разных людей все по разному, и если вручную прописывать координаты, то они могут не совпасть в виду разных разрешений
экранов, посторонних окон приложений, ну и их месторасположения. ПОЭТОМУ нужно находить определенные "границы",
или какие-либо объекты своими методами.

В чем проблема. Имеется 2 алгоритма, первый вот (где-то давно нашел, сохранил):
Код

function SearchImage(A, B : TBitmap): Boolean;
var
  i, j, x, y: integer;
  p1, p2: PARGB;
  Stop: Bool;
begin
  Result := True;
  for y := 0 to A.Height - B.Height do
    for x := 0 to A.Width - B.Width do begin
      Stop := False;
      for i := 0 to B.Height - 1 do begin
        p1 := A.ScanLine[i + y];
        p2 := B.ScanLine[i];
        for j := 0 to B.Width - 1 do
          if not ((p1[j + x].r = p2[j].r) and (p1[j + x].g = p2[j].g) and (p1[j + x].b = p2[j].b)) then begin
            Stop := True;
            Break;
          end;
        if Stop then Break;
      end;
      if not Stop then Exit;
  end;
  Result := False;
end;


Второй находится в этой теме: http://forum.vingrad.ru/topic-240008.html
А так-же несколько запросов по базам. По drkb дал мало результатов, по delphiworld аналогично.

Но суть вот в чем. Оно запускается, но не видит фрагментов. Даже если я эту картинку ложу в image на форму то всеравно не видит.
Есть ли еще какие-либо алгоритмы, которые допускают некоторые искажения, или цвета немножко не те??
Имею ввиду возможную неудачу изза несоответствия качества обоих изображений.

Кстати желательно для JPG, так как с bmp компьютер любит подумать секунд 10, а необходимо добиться хотя бы скорости 1-2 скриншота в секунду, да и качества распознавания, скажем, 80%+.

Если кто может разобраться с этим алгоритмом, и запостить рабочий исходник, тобы оно хотя бы распознавало элементы управления на форме, то буду очень признателен. Или же дать такой алгоритм, который точно работает, и достаточно компактный, так как использоваться будет частенько.
PM MAIL   Вверх
NightmareZ
Дата 29.8.2009, 11:55 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


[хакер]
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 10.8.2006

Репутация: нет
Всего: 13



Думаю, смогу сделать работающий алгоритм за 100$. Тот код, что ты привёл, естесственно работать не будет.


--------------------
NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш
Ely-Art.ru - наша маленькая домашняя арт-студия
mugcraft.ru - кружки на любой вкус
PM WWW ICQ Skype GTalk AOL YIM   Вверх
Alexeis
Дата 29.8.2009, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



  Все таки лучше привязываться к координатам ну или вычислять их по некоторым простым формулам. Задача распознавания сложнее. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
AntonN
Дата 30.8.2009, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.8.2006

Репутация: 7
Всего: 18



искать не всю картинку, а первые 5-6 байт первой строки. Как только нашли - делаем поиск еще немного глубже и ниже. Если совпадает - ищем на полный размер. Абсолютно лучше не сравнивать, а "ухудшить" цвета раза в 4, таким образом вероятно можно будет сравнить jpeg (хотя тогда ошибки накапливает)


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0970 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.