读取像素值数组

2024-03-29 09:34:35 发布

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

我想拍一张屏幕一定范围内的截图,然后我想检查某些线条的像素值(例如x_轴从400到800)。 我尝试了很多方法,比如imagegrab、gdi32.GetPixel等等。读取像素值似乎要花费很多时间,所以我甚至尝试将其转换为一个列表,类似这样的

im = ImageGrab.grab(box)
pixels = list(im .getdata())

即使这样看起来也不快。我做错什么了吗?你知道吗


Tags: 方法box列表屏幕时间像素线条grab
1条回答
网友
1楼 · 发布于 2024-03-29 09:34:35

ImageGrab以PIL格式返回像素(Python图像库:http://effbot.org/imagingbook/image.htm),并且.getdata()已经以序列的形式返回像素。通过再次将它包装在list()中,您将执行两次相同的(昂贵的)操作。你可以这样做:

im = ImageGrab.grab(box)
pixels = im.getdata()

以你最喜欢的方式遍历像素。你知道吗

相关问题 更多 >