0

我想从我的屏幕录制场景,只保留那些包含特定pixelcolor的场景。 我已经写使用python一个screengrabber此:当从屏幕抓取时增加fps

import PIL.ImageGrab 

def get_pixel_colour(i_x, i_y): 
    return PIL.ImageGrab.grab().load()[i_x, i_y] 

print get_pixel_colour(0, 1) 

i= 0 
while (True): 
    i=i+1 
    x = PIL.ImageGrab.grab() 
    print i 
    x.save("tm\screengrab"+ str(i) +".bmp") 

的事情是每秒我帧不足以产生视频。我想至少需要25帧/秒。我如何提高我的屏幕抓取器的性能,使其工作?如果可能的话,我想保留python作为生产语言,因为我不擅长C++。

有没有像Python编译器的东西也许?

+0

问题中的代码有一些换行符和缩进问题。请修改问题以修复这些问题。 –

+1

认为我解决了它 - @tarrasch,你可以检查这是你的意思? –

回答

0

你的屏幕有多大?

如果您想要以25fps的速度抓取1920x1080的屏幕,并以25fps的速度写入bmp,您将需要一些更好的硬件,并且可能采用完全不同的软件方法。

+0

我的屏幕分辨率为1024x798。我希望通过优化而不是新硬件来解决这个问题。例如,我可以写入另一个硬盘,除了系统本身 – tarrasch

+0

这仍然是60Mb/s,这是随机写入单个磁盘的高 - 即使假设PIL有效 –

+0

我现在将其更改为jpg。看看是否有帮助。你能告诉我如何修改我的代码来显示每秒写入次数吗? – tarrasch