Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » findeimage вешает Кибор

Страниц (1): [1]
 

1. Nekto - 25 Июня, 2020 - 07:43:27 - перейти к сообщению
CODE:
int Image_0[500][500];loadimage (PNG, #Image_0[0][0], "C:\Users\RDP\Desktop\Image_0.png");
int PosX_0[512];int PosY_0[512];
finde:
if (findimage(-1, #Image_0[0][0], 0, #PosX_0[0], #PosY_0[0], 0, 0, 1920, 1080, -1)==1){
beep(1000, 500);
}
sleep(100);
goto finde;


В таком виде все чудно пашет, но, увы не выполняет свою задачу, так-как искомое изображение слегка отличается. А вот так:

CODE:
int Image_0[500][500];loadimage (PNG, #Image_0[0][0], "C:\Users\RDP\Desktop\Image_0.png");
int PosX_0[512];int PosY_0[512];
finde:
if (findimage(-1, #Image_0[0][0], 0, #PosX_0[0], #PosY_0[0], 0, 0, 1920, 1080, 30, 30, 30, 30, 30, 30, 95, -1, -1)==1){
beep(1000, 500);
}
sleep(100);
goto finde;

кибор перестает на что-либо реагировать и дебагер с функции поиска не сдвигается. Искомое изображение примерно 450х450 пикселов, если это имеет значение. Комп мощный, кибор его под сотку не грузит, памяти 16 гиг. Хотя... из некоторых соображений тактовая частота понижена до 1.6 Ггц (6 ядрер, 12 потоков)... В чем дело? Не ресурсов ли ему не хватает? Я так понял, с многопоточностью у Кибора проблемы, так что............
2. Kibor - 25 Июня, 2020 - 09:15:40 - перейти к сообщению
 Nekto пишет:
Искомое изображение примерно 450х450 пикселов

Ого го
 Nekto пишет:
if (findimage(-1, #Image_0[0][0]

У вас я так понимаю очень много на мониторе вместится изображений 450 на 450?

Теперь, если это изображение ищется с параметром 95 процентов, то это уйма работы ...
Выставьте все эти параметры в нормальное состояние.
3. Nekto - 25 Июня, 2020 - 10:06:57 - перейти к сообщению
Нуу... дабы улучшить ситуацию я уменьшил область поиска до 1\4 экрана и само изображение уменьшил раза в 2 (по числу пикселов, не по разрешению). Плюс с учетом того, что Кибор плохо умеет использовать разные ядра, отключил гипертрейдинг (из-за этого ему по факту доставалось только пол-ядра). А, и да, если число совпадений заведомо одно, зачем менять параметр, который вы выделили?

Как-бы то ни было, ситуация более-менее сдвинулась с мертвой точки, но не на долго: теперь другая проблема, функция не находит искомое изображение даже при разбежностях по цвету в 255 в обе стороны по всем каналам и процентом совпадений 20%. Изображения очень похожие, прилогаю скрин области поиска, искомое изображение и разницу в ФШ для наглядности. Может подскажете, как быть?

[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
(Добавление)
Тащемта, я придумал способ, как решить проблему и с нагрузкой на кибор, и с корявым распознаванием:

1. Делаем 3 копии области поиска и искомого изображения - каждая в 4 раза (если считать по обьему пикселов) или, (что то же самое) в 2 раза по линейным размерам.
2. Начиная с меньшей по размеру пары протягиваем искомое через все пиксельные столбцы и строки области поиска имитируя режим наложения "разница" из фотошопа. При каждом шаге "протяжки" вычисляем сумму яркости всех пикселов - область с наименьшей общей яркостью - именно то, что мы ищем.
3.Перенося полученые результаты на следующий уровень разрешения, получим сильно ограниченную область поиска на следующем уровне. Соответственно, повторяем шаг 2 для двух оставшихся разрешений.

Вопросов 2:
1. Чем уменьшить png файлы?
2. Как ускорить вычисление суммы яркости? (Подозреваю, что эту операцию было-бы значительно выгоднее выполнять на ГП, а не на ЦП, вот только для меня это темный лес. Может вы хоть что-нибудь подскажете?

И чисто из любопытства, господин Админ, у вас соответствующие вычислениея через ЦП идут или через ГП?
(Добавление)
 Nekto пишет:
1. Делаем 3 копии области поиска и искомого изображения - каждая в 4 раза (если считать по обьему пикселов) или, (что то же самое) в 2 раза по линейным размерам.

*по линейным размерам меньше предыдущей.
4. Zireael - 25 Июня, 2020 - 18:02:24 - перейти к сообщению
 Цитата:
если число совпадений заведомо одно, зачем менять параметр, который вы выделили?

-1 - искать все, 1 - искать одно.
Что вообще нужно найти?
 Цитата:
1. Чем уменьшить png файлы?

Любым редактором изображений.
 Цитата:
2. Как ускорить вычисление суммы яркости?

Писать длл с нужными функциями.
 Цитата:
вычислениея через ЦП идут или через ГП?

ЦП.

Powered by ExBB FM 1.0 Final