← Back to team overview

sikuli-driver team mailing list archive

[Bug 877450] Re: X-1.0rc3: pattern.exact() fails even when a perfect match exists --- workaround

 

// Here is a simple Java class for which I always get the issue:

import org.sikuli.script.FindFailed;
import org.sikuli.script.Match;
import org.sikuli.script.Pattern;
import org.sikuli.script.Region;
import org.sikuli.script.Screen;
import org.sikuli.script.ScreenImage;
import org.sikuli.script.UnionScreen;

public class Main {
	public static void main(String[] args) {
		Screen s = new UnionScreen();
		Region r = Region.create(0, 0, 300, 300);
		ScreenImage image = s.capture(r);
		Pattern pattern = new Pattern(image.getImage()).exact();
		// I also have the issue with:
		// Pattern pattern = new Pattern(image.getImage()).similar(0.99F);
		// However, the pattern is found when not specifying any similarity:
		// Pattern pattern = new Pattern(image.getImage());
		try {
			Match result = r.find(pattern);
			System.out
					.println("Capture found with score: " + result.getScore());
		} catch (FindFailed e) {
			System.out
					.println("Issue: the screen capture itself was not found on the screen!");
		}

	}
}

-- 
You received this bug notification because you are a member of Sikuli
Drivers, which is subscribed to Sikuli.
https://bugs.launchpad.net/bugs/877450

Title:
  X-1.0rc3: pattern.exact() fails even when a perfect match exists ---
  workaround

Status in Sikuli:
  New

Bug description:
  ***** workaround

  use Pattern.similar(0.99)

  --------------------------------------

  I am currently using the java Sikuli to verify generated images on the
  screen, and I need to verify that they are a 100% match (for
  regression testing). I was using the following code the verify:

  Pattern exactMatch = new pattern(pathToMasterImage).exact();
  boolean result = screen.exists(exactMatch, someTimeout) != null;

  however, on some images, this would fail. I captured screenshots on
  the failure and compare the pixels and they were an exact match. I
  also called a search for the same image immediately after using
  .similar() and gave it a minimum of a 0% match, which returned a match
  object with a score of 1.0, so there did exist a 100% match on the
  screen, but the search for the pattern with a .exact() setting seemed
  to still fail.

  Currently running the java portion of sikuli Sikuli-X-1.0rc3 (r905) 32
  bit on a win64 system (running 32bit java though) and windows7. Repro
  for this bug is difficult, but I ran it over a series of images, and
  roughly 1 in 6 seemed to fail, albeit it was different images that
  failed (on the same set of images) every time I ran it.

To manage notifications about this bug go to:
https://bugs.launchpad.net/sikuli/+bug/877450/+subscriptions


References