0

I am currently working on a project that requires automating tests on a content player,

I am using sikuli for it.

The problem is that we have piled up a large amount of screenshots which is becoming difficult to manage day by day.Size of image folder is becoming larger day by day. we want to reuse the older images as much as possible, but finding similar images is what has become a headache.

Is there a tool which could find similar screenshots from a folder? is there any strategy we could use further to manage it ?

8
  • Are you asking about a way to compare image files?
    – user246
    Jul 24, 2013 at 11:27
  • Could you edit your question to say what your goal is with the multiple Sikuli screenshots? Do you want to re-use screenshots rather than continually create new ones? Archive off older runs? That give us a better idea of how to answer your question.
    – Kate Paulk
    Jul 24, 2013 at 12:05
  • yes exactly!We have thousand+ images that are in sikuli image folder,finding the older ones for reuse is what that has become a problem. I want to reuse my screenshots as much as possible, so that size of my folder remains as much less as possible.Also , i was wondering if there is any particular strategy that professionals use to manage these screenshots ?
    – Sharad
    Jul 25, 2013 at 3:15
  • One more question.. Why are there so many images in he first place? Are all of them necessary and different?
    – Eugene S
    Jul 27, 2013 at 4:04
  • What exactly are you doing with the images you have saved? Jul 27, 2013 at 15:34

1 Answer 1

2

Well, one of the options I can think of is to use Sikuli itself to find similar images. You can set the image in a pattern and then try to locate similar images on the screen. Once you locate those similar images, you can do whatever you want with them, still using Sikuli.

Just as an example, you can define a function:

def recycleAll(x)
    for region in find(x).anySize().regions:
        dragDrop(region, "recycleBinImg.png")

And then call it from your main code like that:

patterns = ["imagePatern1.png", "imagePatern2.png", "imagePatern3.png"]
for x in patterns:
    recycleAll(x)

In this case, all images as in pattern will be dragged from the screen to Recycle Bin. This code could be changed not to delete all the occurrences of the images as in the pattern and leave one of them.

Of course you have to consider how your images look like, are the similar ones are truly identical? If now you might want to search now using the whole image but use just a smaller part which will be unique to the images you want to find.

7
  • thank you for answering but i was really looking up for a free tool that could use an input image and find similar images from a folder :)
    – Sharad
    Jul 29, 2013 at 4:56
  • also this is not working , is unable to find similar images
    – Sharad
    Jul 29, 2013 at 5:26
  • @user2609061 Yes, I understand. What additional functionality are you looking for in such tool? I'm not sure what you refer to as not working? This specific piece of example code or the concept?
    – Eugene S
    Jul 29, 2013 at 5:26
  • it should be able to analyze each and every image in my folder and should be able to point out which images have similar pattern so i could easily reuse them
    – Sharad
    Jul 29, 2013 at 5:29
  • this concept , there is no way i could get thousand images on my screen for sikuli to analyze
    – Sharad
    Jul 29, 2013 at 5:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.