Last active
March 20, 2024 02:47
-
-
Save ysuito/f4e74b54e1c57f296aed20550ac9d819 to your computer and use it in GitHub Desktop.
RPi Cam V3 Low Latency Test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from picamera2 import Picamera2, Metadata | |
from gpiozero import LED | |
import time | |
led = LED(21) | |
picam2 = Picamera2() | |
config = picam2.create_still_configuration(main={"size": (320, 240)}, buffer_count=1,queue=False) | |
picam2.configure(config) | |
picam2.set_controls({"ExposureTime": 1000}) | |
picam2.set_controls({"FrameDurationLimits": (10000,10000)}) # MAX 100FPS -> 10ms | |
picam2.start() | |
while True: | |
# カメラモジュールにリクエストを出している時間だけ、LEDを点灯させる。 | |
# トリガーに対して遅延なく反応すれば、撮影された画像は赤いもののみになるはずである。 | |
# このon/offを入れ替えて実行すれば、撮影画像はすべて黒くなる。 | |
led.on() | |
print(f"---Start---: {time.time()}") | |
request = picam2.capture_request() | |
led.off() | |
# LEDを消す。 | |
print(f"Requested: {time.time()}") | |
request.save("main", "/tmp/image.jpg") | |
print(f"Saved: {time.time()}") | |
metadata = Metadata(request.get_metadata()) | |
print(f"SensorTimestamp: {metadata.SensorTimestamp}, ExposureTime: {metadata.ExposureTime}, FrameDuration: {metadata.FrameDuration}") # Linux\u5074\u306etimestamp\u3068\u6bd4\u8f03\u3059\u308b\u306b\u306f\u3069\u3046\u3059\u308c\u3070\u3044\u3044\u306e\u304b\uff1fGPIO\u3067LED\u5149\u3089\u305b\u308b\uff1f | |
print(f"GotMetaData: {time.time()}") | |
request.release() | |
print(f"Released: {time.time()}") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment