Tôi đã có mà phải mất một hình ảnh PIL và chuyển đổi nó vào một mảng ctypes đến ngất xỉu để một hàm C:hiệu quả chuyển đổi chuỗi (hoặc tuple) để ctypes mảng
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)
Nhưng tôi đối phó với hình ảnh lớn và giải nén nhiều mục vào đối số chức năng có vẻ chậm đáng kể. Điều đơn giản nhất tôi có thể làm để tăng tốc hợp lý là gì?
Tôi chỉ chuyển đổi thành bộ tuple làm bước trung gian, vì vậy nếu không cần thiết, tất cả đều tốt hơn.
Có cũng '(ctypes.c_int * n) .from_buffer', mà bạn có thể sử dụng với chuỗi. Tôi vẫn đang cố gắng tìm cách sử dụng nó mà không cần bước ngay lập tức chuyển đổi PIL 'Image' thành một chuỗi. – Kos