I'm working on a Python - Raspberry Pi project in which I need to take about 30 images per second (no movie) and stack each 2D image to a 3D array using numpy array, without saving each 2D capture as a file (because is slow).
I found this Python code to take images as fast as possible, but i don't know how to stack all images fast to a 3D stack of images. import io import time import picamera #from PIL import Image def outputs(): stream = io.BytesIO() for i in range(40): # This returns the stream for the camera to capture to yield stream # Once the capture is complete, the loop continues here # (read up on generator functions in Python to understand # the yield statement). Here you could do some processing # on the image... #stream.seek(0) #img = Image.open(stream) # Finally, reset the stream for the next capture stream.seek(0) stream.truncate() with picamera.PiCamera() as camera: camera.resolution = (640, 480) camera.framerate = 80 time.sleep(2) start = time.time() camera.capture_sequence(outputs(), 'jpeg', use_video_port=True) finish = time.time() print('Captured 40 images at %.2ffps' % (40 / (finish - start))) Does anyone of you know how to stack the 2D images taken in this code to a 3D numpy array using Python and the Raspberry Pi camera module? Without saving each 2D capture as a file Best regards, AgustÃn -- https://mail.python.org/mailman/listinfo/python-list