随着Sikuli,您可以检查图像的内部另一个的存在。 在此示例代码中,图片是从文件加载的。 这段代码告诉我们第二张照片是否是第一张照片的一部分。
public static void main(String[] argv){
String img1Path = "/test/img1.png";
String img2Path = "/test/img2.png";
if (findPictureRegion(img1Path, img2Path) == null)
System.out.println("Picture 2 was not found in picture 1");
else
System.out.println("Picture 2 is in picture 1");
}
public static ScreenRegion findPictureRegion(String refPictureName, String targetPictureName2){
Target target = new ImageTarget(new File(targetPictureName2));
target.setMinScore(0.5); // Precision of recognization from 0 to 1.
BufferedImage refPicture = loadPicture(refPictureName);
ScreenRegion screenRegion = new StaticImageScreenRegion(refPicture);
return screenRegion.find(target);
}
public static BufferedImage loadPicture(String pictureFullPath){
try {
return ImageIO.read(new File(pictureFullPath));
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
要使用Sikuli包,我说这种依赖与Maven:
<!-- SIKULI libraries -->
<dependency>
<groupId>org.sikuli</groupId>
<artifactId>sikuli-api</artifactId>
<version>1.1.0</version>
</dependency>
你要检查是否有另一个图像中存在的图像?您可以自己编写代码,无需使用任何外部软件包。除非两幅图像的图像质量不同,否则会更困难。 – user3437460
是的,我想在更大的图像中找到图像的坐标。最终目标是在不同尺寸/分辨率的匹配上具有灵活性。 –
卡洛请看下面的答案。 – user3437460