Что нового

ImageSearch.au3 и все что связано с этой библиотекой

Belfigor

Модератор
Локальный модератор
Сообщения
3 566
Репутация
933
Вот собственно, увидел в ботоводческих разделах вопрос про то где взять ImageSearch.au3.
Ниже прикреплен файл. Там эта UDF в полной комплекции + примеры. Скажу от себя. Мы с господином Арчибальдом стараемся как можно реже использовать ImageSearch.au3 и всячески избегать взаимодействия с ней путем дописывания своих маленьких модулей на конкретную задачу базирующихся на PixelSearch или же PixelGetColor.
Почему?
1) Потому что скорость с которой работает ImageSearch нас не устраивает.
2) Иногда проще обойтись проверкой 3-4 контрольных точек и результат будет как минимум таким же как при ImageSearch, а то и быстрее.

Давайте писать в этой теме все на ваше мнение "за" и "против" этой библиотеки + делится опытом работы с ней и патчами на неее написанными если у кого есть :smile:

upd - 06.01.2013:

Добавлен модифицированный пользователем mousekey вариант ImageSearch.au3. Ссылка на сообщение

upd - 20.07.2014
Файлы снова восстановлены после того как форум слетел.
Добавлен так же PixelSearchEx ввиду того что временами тут про него спрашивают.
 

Вложения

hikki

Продвинутый
Сообщения
233
Репутация
99
Когда увидел в первый раз имажсерч, писал кипятком от счастья, но оно было не долгим)) Отказался от его использования принципиально. Когда пиксельсерч не находит чтолибо то это почемуто быстро и легко отлавливается, в случае с ImageSearch остается только гадать и применять научный тык для определения причин ненахождения.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 166
Репутация
2 330
Belfigor
Может стоит оформить UDF как следует, в раздел примеров?
 
Автор
B

Belfigor

Модератор
Локальный модератор
Сообщения
3 566
Репутация
933
CreatoR сказал(а):
Belfigor
Может стоит оформить UDF как следует, в раздел примеров?
Ну... можно и в раздел примеров, займусь на днях.
UPD. А все же наверное пусть остается тут, чтобы из ботраздела лазить далеко не нужно было

А все же пусть будет там, через пару часов оформлю
 

Archy26

EVE DEVE eve bot development group
Сообщения
60
Репутация
42
hikki сказал(а):
Когда увидел в первый раз имажсерч, писал кипятком от счастья, но оно было не долгим)) Отказался от его использования принципиально. Когда пиксельсерч не находит чтолибо то это почемуто быстро и легко отлавливается, в случае с ImageSearch остается только гадать и применять научный тык для определения причин ненахождения.
Ога.
Я когда первый раз его увидел - тоже думал все проблемы решены :smile:
У нас тут есть один небольшой гений. Люк зовут. Но он чего-то перестал почитать нас своим присутствием. Вот он как-то чего-то любит имаджсёрч. И он у него как-то работает. Вот если Люк сюда заходит - пускай сюда напишет, эта тему уже поднималась, но как-то так и не поднялась с его участием особо..
 

vovsla

Осваивающий
Сообщения
546
Репутация
26
что-то ссылочка на него не открывается...
 
Автор
B

Belfigor

Модератор
Локальный модератор
Сообщения
3 566
Репутация
933
Только что проверил, у меня все работает. Залито не на хостинг а напрямую на форум. Не работать не может.
 

vovsla

Осваивающий
Сообщения
546
Репутация
26
во, терь заработало, бага какая-то...
 

avrill

Новичок
Сообщения
7
Репутация
0
у меня вопрос: 4ем больше размер изображения которого ищут тем меньше ресурсов будет жрать? или наоборот? :blink:
 
Автор
B

Belfigor

Модератор
Локальный модератор
Сообщения
3 566
Репутация
933
Чем больше размер тем больше ресурсов и тем медленнее оно будет работать.
 

Bloodrinker

<Блуждающий...>
Сообщения
228
Репутация
19
а если вместо всего этого идействительно использовать "комочек" из нескольких PixelSearch? иначе если использовать 1-ну, то такого цвета может быть не только выбранный объект. Что думаете насчет скорости выполнения?
 

hikki

Продвинутый
Сообщения
233
Репутация
99
100% моего бота работает на точном знании где и какой пиксель искать, только в 2 или 3 местах использовал дополнительную проверку, изза совпадений цвета в области поиска.
 

Greens

Новичок
Сообщения
20
Репутация
0
А чем вам не нравится PixelChecksum? По моему она полностью заменяёт ImageSearch.au3 , и удобней в использовании чем PixelGetColor , особенно если проверяется большой участок экрана =)
 
Автор
B

Belfigor

Модератор
Локальный модератор
Сообщения
3 566
Репутация
933
Пиксель чек сумм сакс. Так же впрочем как и имидж серч :smile:. Проще свою дллку или удфку написать.
 

NoMad73rus

Продвинутый
Сообщения
124
Репутация
80
Спрошу здесь. В общем задача как и понятно в нахождении маленькой картинки внутри большой картинки, но проблема в том, что искомые иконки возникают повёрнутые по разному(горизонтально, вертикально, и прочее вращение вокруг своей оси), картинка по сути остаётся одной и той же. вот как решить такую задачу? хотябы алгоритм на словах?
 

Luke

Знающий
Сообщения
64
Репутация
14
На словах всё просто :smile: - находишь ось главного момента инерции какой нибудь фигуры на изображении, затем поворачиваешь все картинки к стандартному положению и сравниваешь. А вот реализовать это гораздо сложнее.
 

Bloodrinker

<Блуждающий...>
Сообщения
228
Репутация
19
Greens сказал(а):
А чем вам не нравится PixelChecksum? По моему она полностью заменяёт ImageSearch.au3 , и удобней в использовании чем PixelGetColor , особенно если проверяется большой участок экрана =)
Я так и не понял, каким образом PixelChecksum заменяет ImageSearch.au3 я так и не понял. Может разъяснит кто? :whistle:
Кстати, а как реализовать проверку при помощи PixelSearch нескольких пикселей? При помощи массива это сделать просто, но на экране полно "левых" пикселей такого цвета. А мне надо найти такой кусочек изображения на рабочем столе, где все заданные пиксели (их около 4-х) располагались вряд. пробовал делать массив, но как сказать ему, чтобы он искал не все пиксели, что в массиве как попало, а чтобы работа считалась выполненной тогда, когда он найдет все заданные пиксели на раб столе, и чтобы при этом они стояли в ряд. Думаю понятно :wacko:
 
Автор
B

Belfigor

Модератор
Локальный модератор
Сообщения
3 566
Репутация
933
PixelChecksum - никак не заменит ImageSearch.
Код:
Opt("MustDeclareVars", 1)
Dim $Color[4] = [0xCCCCCC, 0xECE9D8, 0xFFFFFF, 0xECE9D8]
Dim $Shade[4] = [5, 5, 5, 5]
Example(10, 10, 1500, 1500)
Func Example($x1, $y1, $x2, $y2)
    Local $var = PixelSearch($x1, $y1, $x2, $y2, $Color[0], $Shade[0])
    If Not @error Then
        For $i = 1 To 3 Step 1
            $var = PixelSearch($var[0]+1, $var[1], $var[0]+1, $var[1], $Color[$i], $Shade[$i])
            If Not @error Then
                If $i = 3 Then
                    MouseMove($var[0], $var[1])
                    MsgBox(0,"","Found")
                Else
                    ContinueLoop
                EndIf
            Else
                MsgBox(0,2,"Not Found")
                ExitLoop
            EndIf
        Next
    Else
        MsgBox(0,1,"Not Found")
    EndIf
EndFunc

Вот проверка на 4 нужных пикселя при нахождение первого подходящего под описание первого из четырех пикселей. То есть сначала функция будет искать пиксель с цветом: 0xCCCCCC, далее обнаружив его проверит находящиеся от него справа три пикселя чтобы 2-й соответствовал цвету 0xECE9D8, 3-й 0xFFFFFF, а 4-й 0xECE9D8. Если цвета всех пикселей совпадут он скажет что нашел их и подвинет туда мышку. Если же 2-й, 3-й или 4-й пиксели не совпадут по цвету, поиск будет завершен.

Вот тебе поиск нужной формации пикселей на экране с продолжением поиска до тех пор пока вся область поиска не будет проверена на наличие нужных формаций: http://autoit-script.ru/index.php/topic,182.0.html
 

Bloodrinker

<Блуждающий...>
Сообщения
228
Репутация
19
Ну вот как раз то что нужно! завтра с утреца обновлю своего ботика) Спасибо! :IL_AutoIt_1:
 
Автор
B

Belfigor

Модератор
Локальный модератор
Сообщения
3 566
Репутация
933
В первый пост добавлена ImageSearch x64.
 
Верх