converter de forma eficiente string (ou tupla) em array de tipos

Eu tenho um código que pega uma imagem PIL e a converte em uma matriz ctypes para passar para uma função 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)

Mas estou lidando com imagens grandes e descompactar muitos itens em argumentos de função parece ser notavelmente lento. Qual é a coisa mais simples que posso fazer para obter uma aceleração razoável?

Estou apenas convertendo para uma tupla como uma etapa intermediária; portanto, se for desnecessário, melhor.

questionAnswers(1)

yourAnswerToTheQuestion