枕头图像抓取计算时间与边界框区域无关



我想在小于整个屏幕的框中进行屏幕抓取。这很简单:

从PIL导入图像抓取;ImageGrab.grab(bbox=(0, 0, 1600, 1200(

预计当我将盒子面积减半时,我会看到操作时间减少两倍。令我惊讶的是,我的新MacBook上的计算时间刚刚超过1/4秒,几乎完全独立于盒子面积。

谁能向我解释一下?有没有简单的方法可以非常快速地从屏幕中提取小矩形区域?较长的计算时间对我的实时程序非常不利。

简单地将图像大小减半不会带来太大的加速,因为 PIL 函数调用的开销会占用时间。您可能还具有I/O约束,具体取决于您对图像执行的操作(即将它们保存到磁盘(如果您想要加速,您可以查看多处理库,或者使用cython之类的东西将代码的图像捕获部分下拉到C中。

最新更新