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.