我有代碼,需要一個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