使用python捕捉屏幕中心的图像

2024-05-01 03:27:24 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用python捕捉屏幕中心我尝试了这段代码,但是每当我将参数值提高到200以上时,它就会给我错误的提示。在

import numpy as np
from PIL import ImageGrab
import cv2

while(True):
    printscreen_pil =  ImageGrab.grab(bbox=(0,200,500,200))
    printscreen_numpy =   np.array(printscreen_pil.getdata(),dtype='uint8')\
    .reshape((printscreen_pil.size[1],printscreen_pil.size[0],3)) 
    cv2.imshow('window',printscreen_numpy)
    if cv2.waitKey(25) & 0xFF == ord('q'):
        cv2.destroyAllWindows()
        break

Tags: 代码fromimportnumpysizepil屏幕as
1条回答
网友
1楼 · 发布于 2024-05-01 03:27:24

你得到了什么,真是走神。 两个Y值相同。目前,您的边界框是零像素高。一、 你有一条从(0,200)到(500,200)的线。(如果可以称为一条线)。在

在代码中输入以下行:

print printscreen_pil.size

你会看到的。在

边界框用矩形的左上角和同一矩形的右下角来描述。在

因此,您的边界框应该是:

^{pr2}$

屏幕大小你可以直接从操作系统或得到整个屏幕,然后裁剪出你想要的区域。在

img = ImageGrab.grab()
size = img.size
x1 = size[0]/2-100; y1= size[1]/2-100
x2 = x1+200; y2 = y1+200
portion = img.crop((x1, y1, x2, y2))

相关问题 更多 >