imagecapture – Support for “Parallel capture” interfaces

See also

Espressif microcontrollers use the esp32_camera module together.

Available on these boards
  • 42. Keebs Frood
  • Adafruit Feather RP2040
  • Adafruit Feather RP2040 Scorpio
  • Adafruit Grand Central M4 Express
  • Adafruit ItsyBitsy RP2040
  • Adafruit KB2040
  • Adafruit Macropad RP2040
  • Adafruit QT Py RP2040
  • Adafruit QT2040 Trinkey
  • Arduino Nano RP2040 Connect
  • BBQ20KBD
  • Challenger NB RP2040 WiFi
  • Challenger RP2040 LTE
  • Challenger RP2040 LoRa
  • Challenger RP2040 SubGHz
  • Challenger RP2040 WiFi
  • Challenger RP2040 WiFi/BLE
  • Cytron Maker Nano RP2040
  • Cytron Maker Pi RP2040
  • ELECFREAKS PICO:ED
  • Electrolama minik
  • EncoderPad RP2040
  • Fig Pi
  • Melopero Shake RP2040
  • Oak Dev Tech BREAD2040
  • Oak Dev Tech Cast-Away RP2040
  • Pimoroni Badger 2040
  • Pimoroni Interstate 75
  • Pimoroni Keybow 2040
  • Pimoroni Motor 2040
  • Pimoroni PGA2040
  • Pimoroni Pico LiPo (16MB)
  • Pimoroni Pico LiPo (4MB)
  • Pimoroni PicoSystem
  • Pimoroni Plasma 2040
  • Pimoroni Servo 2040
  • Pimoroni Tiny 2040 (2MB)
  • Pimoroni Tiny 2040 (8MB)
  • PyKey 18 Numpad
  • PyKey 44 Ergo
  • PyKey 60
  • PyKey 87 TKL
  • RP2.65-F
  • RP2040 Stamp
  • Raspberry Pi Pico
  • Raspberry Pi Pico W
  • Seeeduino XIAO RP2040
  • Silicognition LLC RP2040-Shim
  • SparkFun MicroMod RP2040 Processor
  • SparkFun Pro Micro RP2040
  • SparkFun Thing Plus - RP2040
  • VCC-GND Studio YD RP2040
  • W5100S-EVB-Pico
  • W5500-EVB-Pico
  • Waveshare RP2040-Zero
  • WeAct Studio Pico
  • WeAct Studio Pico 16MB
  • takayoshiotake Octave RP2040

class imagecapture.ParallelImageCapture(*, data_pins: List[microcontroller.Pin], clock: microcontroller.Pin, vsync: Optional[microcontroller.Pin], href: Optional[microcontroller.Pin])

Capture image frames from a camera with parallel data interface

Create a parallel image capture object

This object is usually used with a camera-specific wrapper library such as adafruit_ov5640.

Parameters
capture(buffer: circuitpython_typing.WriteableBuffer) circuitpython_typing.WriteableBuffer

Capture a single frame into the given buffer.

This will stop a continuous-mode capture, if one is in progress.

continuous_capture_start(buffer1: circuitpython_typing.WriteableBuffer, buffer2: circuitpython_typing.WriteableBuffer, /) None

Begin capturing into the given buffers in the background.

Call continuous_capture_get_frame to get the next available frame, and continuous_capture_stop to stop capturing.

Until continuous_capture_stop (or deinit) is called, the ParallelImageCapture object keeps references to buffer1 and buffer2, so the objects will not be garbage collected.

continuous_capture_get_frame() circuitpython_typing.WriteableBuffer

Return the next available frame, one of the two buffers passed to continuous_capture_start

continuous_capture_stop() None

Stop continuous capture.

Calling this method also causes the object to release its references to the buffers passed to continuous_capture_start, potentially allowing the objects to be garbage collected.

deinit() None

Deinitialize this instance

__enter__() ParallelImageCapture

No-op used in Context Managers.

__exit__() None

Automatically deinitializes the hardware on context exit. See Lifetime and ContextManagers for more info.