python中特定位置的屏幕截图
我试图做一段代码,在屏幕上拍摄一个特定的地方。我可以在屏幕上拍照,但不能在特定的地方拍照 我的目标是拍一张左上角点在这个位置的照片:(536,76) 右下角的点在这个位置:(998791) 这是我到目前为止所做的,截图python中特定位置的屏幕截图,python,image,Python,Image,我试图做一段代码,在屏幕上拍摄一个特定的地方。我可以在屏幕上拍照,但不能在特定的地方拍照 我的目标是拍一张左上角点在这个位置的照片:(536,76) 右下角的点在这个位置:(998791) 这是我到目前为止所做的,截图 import PIL snapshot = PIL.ImageGrab.grab() save_path = "C:\\Users\\pierr\\Pictures\\Screenshots\\oui_" + str(i) + ".jpg" snapshot.save(
import PIL
snapshot = PIL.ImageGrab.grab()
save_path = "C:\\Users\\pierr\\Pictures\\Screenshots\\oui_" + str(i) + ".jpg"
snapshot.save(save_path)
获取图像后,使用check获取额外信息,将其转换为numpy数组(即图像的opencv格式)
image = numpy.array(snapshot)
使用此numpy数组访问图像的一部分
在您的案例图像[76:791536:998]中使用image[start_y:end_y,start_x:end_x],然后您可以使用cv2.imwrite()保存图像。尝试将
bbox
参数添加到grab()
函数中,如下所示。。。这个主意不错,但我不知道为什么,它不好用,这是我写的:snapshot=ImageGrab.grab(bbox=(535,75999792))
它给我拍了一张照片,但不在正确的位置,但是,对于bbox,你必须从左上角的点输入坐标x,y和坐标x,从右下角的点算起y否?试着抓取整个屏幕,检查得到的尺寸以及尺寸与屏幕大小的关系-也许X和y互换了?或者可能正在进行屏幕倍增?我终于成功了,坐标错了。“问题”是我用给我新坐标的相同代码检索到了第一个坐标^^^^不管怎样,现在它工作了,非常感谢代码工作了,但是我输入的坐标和经过一个下午的研究后捕获的坐标之间有差距,我终于得到了一些不太糟糕的东西,不幸的是,我无法阅读你建议我的代码中的图像。。。。图像在我的文件中以png格式记录得很好,但我看不懂,也不知道为什么,但是,嘿,我找到了另一种技术,可以让一切都很好,谢谢