【发布时间】:2017-04-05 18:08:53
【问题描述】:
我正在使用 Sikulix.jar 在我的项目中搜索图像。我的代码如下:
Finder f;
Match m;
Points2D coords = new Point2D.Double(-1, -1);
try {
f = new Finder(ImageIO.read(new File("my_large_image.png")));
f.find(ImageIO.read("my_sub_image.png"));
if (f.hasNext()) {
m = f.next();
coords.setLocation(m.getTarget().getX(), m.getTarget().getY());
}
} catch (IOException e) {}
要找到的图像只是大图像的一部分。但是坐标总是返回 (-1, -1)。对实施有任何帮助吗?谢谢。
11/25 更新 我可能找到了解决方案,但我不知道它是否正确。当我缩小我的测试大图像(从 1080*1920 到 540*960)时,可以找到该图像。但是相似度是0.66。
【问题讨论】:
-
这是使用 Sikuli 方法的一种非常不寻常的方式。你这样使用它有什么特定的原因吗?
-
@EugeneS 这是因为我想在我的 android 自动化系统中使用 Sikuli。那么通常的“屏幕”方式不适合这种情况......
-
我明白了。你还能使用 Regions 吗?
-
@EugeneS 我可以通过将相似度值为 0.5 的 Pattern 对象传递给 find 函数来使其工作。但是目标结果离正确的位置很远。
标签: opencv sikuli sikuli-script