Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

find.all duplicate object #50

Open
dimitriusssBR opened this issue May 12, 2024 · 0 comments
Open

find.all duplicate object #50

dimitriusssBR opened this issue May 12, 2024 · 0 comments

Comments

@dimitriusssBR
Copy link

dimitriusssBR commented May 12, 2024

Describe the bug

find.all sometime returns duplicated objects on specific matching range
find.all in version 0.4.0 find.all returns the list of objects by matchscore.
In version 0.3.0 it was in the order they are found on the screen.

Box: x=1447, y=740, w=52, h=29, score=0.9999566078186035
Box: x=1102, y=740, w=52, h=29, score=0.967707633972168
Box: x=1620, y=740, w=52, h=29, score=0.9400887489318848
Box: x=1275, y=740, w=52, h=29, score=0.8545419573783875
Box: x=1274, y=740, w=52, h=29, score=0.846000075340271
Box: x=1533, y=641, w=52, h=29, score=0.82472825050354

objects 4 and 5 are the same

objects are shown in order of best score

Expected behavior
Box: x=1447, y=740, w=52, h=29, score=0.9999566078186035
Box: x=1102, y=740, w=52, h=29, score=0.967707633972168
Box: x=1620, y=740, w=52, h=29, score=0.9400887489318848
Box: x=1275, y=740, w=52, h=29, score=0.8545419573783875
Box: x=1533, y=641, w=52, h=29, score=0.82472825050354

Steps to Reproduce

cv2find.py edited to print score:

print(f"Box: x={x}, y={y}, w={needle_width}, h={needle_height}, score={result[y]}")
yield Box(x, y, needle_width, needle_height)

elements = self.find_all(label="arena_150", matching=0.81, waiting_time=1000, grayscale=False)
elements_list = list(elements)

Possible Solution
Fix duplicated entry

Please give find.all the option to list objects by score and also as it was in version 0.3.0 in the order they appeared on the screen (left-right-top-bottom)

for x, y in zip(matchx, matchy):
    yield Box(x, y, needle_width, needle_height)

My Platform

botcity-email-plugin 0.1.3
botcity-framework-base 0.4.3
botcity-framework-core 0.3.0+2.g54db502
botcity-framework-web 0.8.2
botcity-maestro-sdk 0.3.4
botcity-telegram-plugin 0.1.4

Additional context

Windows scale 100%, image scale 100%
arena

needle / label / resource
arena_150

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant