Привет, мъча се да направя функция, която да претърсва дадена област от екрана за наличието на много копия от една и съща картинка, като на намерените копия да съхранява координатите.
Езика е autohotkey. По принцип самият език има функция за търсене на изображения, но функцията търси и намира (в правоъгълна област) едно единствено изображение:
-----------------------------
ImageSearch, OutputVarX, OutputVarY, X1, Y1, X2, Y2, ImageFile
Връща променливите:
OutputVarX - намерената координата по X на изображението
OutputVarY - намерената координата по X на изображението
Подавани параметри:
X1 - Координатата по X на горния ляв ъгъл, от който да започне претърсването
Y1 - Координатата по Y на горния ляв ъгъл, от който да започне претърсването
X2 - Координатата по X на долния десен ъгъл, до който да търси
Y2 - Координатата по Y на долния десен ъгъл, до който да търси
ImageFile - Път до файла с картинката, която ще търсим по екрана
-----------------------------
Например ако имам картинка на червено кръгче, мога да търся това червено кръгче, като задам координатите на правоъгълника. Функцията ще претърси в границите на правоъгълника, ще го намери и ще ми върне координатите, но ако имам няколко червени кръгчета по екрана, функцията ще намери само първото.
Целта ми е, да намеря всички червени кръгчета, без изключение, като алгоритъма на претърсване да не става излишно тромав. Със сигурност ще е някакъв цикъл, който да претърсва отгоре надолу, но оплитам конците нещо - това което направих претърсва излишно много пъти припокриващи се области, които вече са били претърсвани.
Не търся конкретен сорс код на този език - търся идея, алгоритъм, дори илюстриран и с помощта на друг език би ми свършил работа.