gpt4 book ai didi

java - 识别网页中的颜色/图案

转载 作者:行者123 更新时间:2023-12-02 03:39:43 34 4
gpt4 key购买 nike

我想尝试创建一个学习象棋应用程序作为学校项目。我的第一个计划是简单地让这个人工智能与自己进行较量,但要真正展示它是否成功,它需要能够展示它的进展情况。为了做到这一点,我希望它能够在 chess.com 等网站上玩评级游戏。然而,我相信他们(还)没有公共(public) API。

因此,我想用java制作一个识别颜色和图像的程序。它保留所有位置的内部二维数组,并识别棋盘上的棋子。我想我已经找到了一种方法可以在窗口中使用类似 Java Robot Class 来执行此操作。

但是,我希望它做的是在内部窗口中打开此网页并继续在后台执行此操作。有没有一种方法可以识别自己窗口内的颜色,而无需位于前景?

编辑:我计划使用 this browser component i just found 。我注意到可以创建页面的全页快照并将其保存为 BufferedImage(?)。这会让事情变得更容易吗?

编辑2:我刚刚读到“完全禁止来自其他人、计算机/国际象棋引擎或残局 table 库的外部援助”。我想让电脑来完成所有的游戏肯定包括在内。所以我可能会尝试使用另一个网站,所以特定于 chess.com 的答案不会解决问题!

最佳答案

我不知道它有什么帮助,但也许你可以看看 Sikuli 项目。 http://sikuli.org/

Sikuli 是一个处理与用户界面交互的程序(和 API)。例如,您可以编写一个脚本来在某些条件下单击图像或按钮。

您特别感兴趣的是 Java 集成:http://sikuli.org/docx/faq/030-java-dev.html

以下是该网站的摘录,可让您了解可以编写的代码。

编辑:在此代码中,请务必注意您正在使用图像定义新模式。 Sikuli 将能够找到匹配的模式。

import org.sikuli.script.*;

public class TestSikuli {

public static void main(String[] args) {
Screen s = new Screen();
try{
s.click("imgs/spotlight.png", 0);
s.wait("imgs/spotlight-input.png");
s.type(null, "hello world\n", 0);
}
catch(FindFailed e){
e.printStackTrace();
}
}
}

关于java - 识别网页中的颜色/图案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5729502/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com