[python] Kus paměti na numpy array

Petr Blahos petrblahos na gmail.com
Středa Leden 10 17:07:56 CET 2018


Ahoj,

přes ctypes volám něco, co volá zpět můj callback. V tom callbacku je jeden
z parametrů pointer na unsigned char, a délka pole. No a já bych potřeboval
buď toto pole dostat do numpy array. Nevíte, jak na to?

Volání vypadá takto:

def img_cb(buffer, buffer_size, cnt):
    # tady ten buffer potřebuju dostat do numpy array


cb_tp = ctypes.WINFUNCTYPE(ctypes.c_long, ctypes.POINTER(ctypes.c_ubyte),
ctypes.c_long, ctypes.c_void_p)
cb_f = cb_tp(img_cb)

volání_funkce_která_nastaví_callback(0, 1, cb_f, 1)
volání_funkce_která_odstartuje_volání_callbacku(0, None, False, True)


Ta data budu muset kopírovat. Dokážu udělat:

a = numpy.array(buffer[0:buffer_size], dtype=numpy.uint8)

ale to je strašně pomalé.

Předem díky.
--
Petr
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20180110/80e18d61/attachment.html>


Další informace o konferenci Python