即使小于 0.7,如何获得模式分数?
how to get pattern score even if less than 0.7?
我正在尝试使用 Sikuli API 为 Java 自动化视频游戏。游戏具有随机效果,通常模式匹配得分低于0.7
。有没有办法即使小于 0.7 也能得到分数?
我的代码是:
Screen screen = new Screen();
Pattern image1 = new Pattern("C:\picture1.png");
Region reg = new Screen();
System.out.println(reg.find(image1).getScore());
当然,您可以通过通用参数设置相似度分数:
Settings.MinSimilarity = 0.5;
如果您这样做,它将应用于一般图像搜索:
Screen s = new Screen();
s.find("pattern.png");
或者,您可以将特定的相似度分数应用于 Pattern
,如下所示:
Pattern p = new Pattern("pattern.png").similar(0.5)
P.S.
重读你的问题我看到你问你是否可以获得一个对象的相似度分数。所以答案是相似的,你需要先降低你的相似性设置来找到你想要的模式。然后,如果您使用 result.highlight(1)
突出显示它,将打印所有 Match
信息,您还将看到对象的实际相似性。然后你可以相应地调整你的相似度分数,以避免它不必要地低。
P.P.S 你可以看看here 看看如何理解Match
对象数据
我正在尝试使用 Sikuli API 为 Java 自动化视频游戏。游戏具有随机效果,通常模式匹配得分低于0.7
。有没有办法即使小于 0.7 也能得到分数?
我的代码是:
Screen screen = new Screen();
Pattern image1 = new Pattern("C:\picture1.png");
Region reg = new Screen();
System.out.println(reg.find(image1).getScore());
当然,您可以通过通用参数设置相似度分数:
Settings.MinSimilarity = 0.5;
如果您这样做,它将应用于一般图像搜索:
Screen s = new Screen();
s.find("pattern.png");
或者,您可以将特定的相似度分数应用于 Pattern
,如下所示:
Pattern p = new Pattern("pattern.png").similar(0.5)
P.S.
重读你的问题我看到你问你是否可以获得一个对象的相似度分数。所以答案是相似的,你需要先降低你的相似性设置来找到你想要的模式。然后,如果您使用 result.highlight(1)
突出显示它,将打印所有 Match
信息,您还将看到对象的实际相似性。然后你可以相应地调整你的相似度分数,以避免它不必要地低。
P.P.S 你可以看看here 看看如何理解Match
对象数据