我有一段代码,它将PIL图像转换为ctypes数组,以便传递给C函数:
w_px, h_px = img.size
pixels = struct.unpack('%dI'%(w_px*h_px), img.convert('RGBA').tostring())
pixels_array = (ctypes.c_int * len(pixels))(*pixels)
但我正在处理大型图片,将这么多项解包为函数参数似乎明显很慢。我能做的最简单的事情是什么,以获得合理的加速?
我只是将其转换为元组作为中间步骤,因此如果不必要,那就更好了。
(ctypes.c_int * n).from_buffer
,你可以用它来处理字符串。我仍在尝试找到如何在不立即将PILImage
转换为字符串的情况下使用它。 - Kos