Camera

Live camera capture is not a juno.* module — Juno ships OpenCV pre-installed, so use OpenCV’s canonical capture API directly:

import cv2

cap = cv2.VideoCapture(0)
if cap.isOpened():
    ok, frame = cap.read()
    if ok:
        print("got frame:", frame.shape)   # BGR ndarray
    cap.release()

The first call to cv2.VideoCapture(0) triggers the standard iOS camera-permission prompt automatically. The user’s choice is sticky for the app — the prompt won’t fire again until access is revoked in Settings → Juno → Camera.

After read() returns, frame is a NumPy array of BGR pixels you can pipe straight into any other OpenCV operation (filter, encode, run an ML model) or convert to RGB / Pillow as needed.