RaspberryPi-Kamera 10-Bit-Rohbild in Python aufnehmen

English Deutsch

Du kannst die Python-Bibliothek picamera verwenden, um ein Roh-Sensorbild einer Kamera aufzunehmen, die über CSI an den Raspberry Pi angeschlossen ist:

capture_raw_rawimg.py
#!/usr/bin/env python3
import picamera
import picamera.array
import numpy as np

# Bild aufnehmen
print("Bild wird aufgenommen...")
with picamera.PiCamera() as camera:
    with picamera.array.PiBayerArray(camera) as stream:
        camera.capture(stream, 'jpeg', bayer=True)
        # Demosaic-Daten und in rawimg schreiben
        # (stream.array enthält die nicht-demosaicierten Daten)
        rawimg = stream.demosaic()

rawimg ist ein numpy-uint16-Array mit den Dimensionen (w, h, 3), z.B. (1944, 2592, 3), und enthält Ganzzahlwerte von 0 bis 1023.

Du kannst es beispielsweise in einer NumPy-Datei speichern mit

save_rawimg_npy.py
np.save("rawimg.npy", rawimg) # Reload with np.load("rawimg.npy")

oder in einem komprimierten Format speichern mit

save_rawimg_npz.py
np.savez_compressed("rawimg.npz", rawimg) # Reload with np.load("rawimg.npz")

Check out similar posts by category: Python, Raspberry Pi