[python] Kus paměti na numpy array

Petr Messner petr.messner na gmail.com
Čtvrtek Leden 11 13:54:01 CET 2018


Ahoj, co numpy.frombuffer?

https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.frombuffer.html

Nebo:

https://stackoverflow.com/questions/23930671/how-to-create-n-dim-numpy-array-from-a-pointer

Snad neradím blbosti, s numpy jsem takhle ještě nepracoval.

PM


Dne středa 10. ledna 2018 17:08:23 UTC+1 Petr Blahos napsal(a):
> 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ší informace o konferenci Python