我有代码,需要一个PIL图像并将其转换为一个ctypes阵列传递出一个C函数:有效地转换字符串(或元组)到ctypes的阵列
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',你可以使用字符串。我仍然试图找到如何使用它,而不需要立即将PIL'Image'转换为字符串。 – Kos 2012-12-12 10:20:26