はじめに
カメラの設定を調整する際、何度も試行錯誤しながらさまざまな変更を加えることがあります。設定項目が固定されている場合は簡単ですが、項目自体も変更したい場合は手間がかかります。この記事では、私が個人的に便利だと感じるカメラ設定の管理方法を紹介します。
方法
カメラの設定を管理するために、JSONファイルを使用します。設定したいcap.set()
の第一引数をキーにし、第二引数をバリューとして記述します。
camera_config.json
{
"cv2.CAP_PROP_FRAME_WIDTH": 800,
"cv2.CAP_PROP_FRAME_HEIGHT": 640,
"cv2.CAP_PROP_SATURATION": 20
}
設定ファイルを読み込む際には、evalを使用することでキーを文字列ではなく定数として扱えるようにします。
main.py
import cv2
import json
cap = cv2.VideoCapture(0)
camera_config = json.load(open("camera_config.json"))
for k in camera_config:
cap.set(eval(k), camera_config[k])
おわりに
この方法を使用すると、カメラの設定を簡単かつ柔軟に管理することができます。設定項目を追加・変更する際も、JSONファイルの編集だけで済むため便利です。ぜひ試してみてください。