- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我花了一个小时研究这个简单的主题,但我遇到的所有答案都非常复杂,作为 Python 新手,我无法将它们中的任何一个合并到我的程序中。
我正在尝试让人工智能玩浏览器版本的钢琴 block 游戏。截至目前,我只是 try catch 游戏窗口(计算机屏幕的一小部分),然后使用游戏开始按钮的 .png 检查该游戏窗口。从那里我将继续单击该开始按钮,但这是另一个问题。
如何检查图像是否包含 .png 文件?
这是我当前的代码:
from PIL import ImageGrab as ig, ImageOps as io, Image
import pyautogui
import bbox
def grabStart(window):
#The start button
start = Image.open("res/StartButton.PNG")
start = io.grayscale(start)
#This is the part I need to figure out. The following is just pseudocode
if window.contains(start): #I know that this doesn't actually work. Just pseudocode
#I'd like to return the location of 'start' in one of the following forms
return either: (x1, y1, x2, y2), (x1, y1, width, height), (a coordinate within 'start'))
def grabGame():
#The coordinates of the entire game window
x1 = 2222
y1 = 320
x2 = 2850
y2 = 1105
#The entire screen of the game
window = ig.grab(bbox = (x1, y1, x2, y2))
window = io.grayscale(window)
return window
grabStart(grabGame())
最佳答案
尝试使用pyautogui.locate()
。函数输入两个参数,第一个是需要找到的图像,第二个是需要找到较小图像的图像。此方法仅适用于图像,因此如果您想在实时窗口中运行此方法,您可以考虑其他选择。其次,pyautogui
只是 PIL
的包装器,因此如果您遇到效率问题,您可能需要将 locate()
转换为它的 PIL 等效项性能。
关于python - 在使用 ImageGrab 检索到的较大图像中检测较小的图像 (.png)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56318864/
我正在通过 PHP 将 .csv 中的两行插入到表中。 我还会跟踪任何错误,如果发生错误,我不会提交事务。插入表后,我检索结果行的 ID(全部在一个事务中提交),并且 csv 的第一行对应于第二个 I
一个应用程序托管一个具有三个接口(interface)的 Web 服务,用于三个单独且独立的操作,所有这些操作都在应用程序的不同组件中实现,彼此独立,例如在不同的包等中,所以他们对彼此了解不多,只共享
我希望在单击特定表格数据单元格时同时选中单选按钮和单选按钮单击事件。我已经使用以下方法实现了这一点: $(document).ready(function() { $("td").click(
JSFiddle:https://jsfiddle.net/oyp1zxaq/ 本质上,我只是想在较大的 div 中放置四个具有定义宽度的较小 div,但我希望它们在其中间隔开。 我想知道是否有一种方
我在一个布局中有两个 View 。我将分别称它们为 View A 和 View B。 ┌──────┐ │┌─┐┌─┐│ ││A││B││ │└─┘└─┘│ └──────┘ 父布局(包括View A
我是一名优秀的程序员,十分优秀!