cv2 は fps を設定できませんが、 で fps を変更できます。
v4l2-ctl -d 1 --set-parm=60
との解決;
v4l2-ctl -d 1 --set-fmt-video=width=640,height=480
しかし、私がしようとすると;
camcapture = cv2.VideoCapture(1)
_,f = camcapture.read()
cv2.imwrite(filename, f)
キャプチャは 60fps ですが、解像度は 320x240 です。cv2.VideoCapture が解像度を変更することは明らかです。わかりましたので、v4l2-ctl で記述された設定は気にせず、独自のものをオーバーライドします。だから私は試します。
camcapture.set(3,640)
camcapture.set(4,480)
画像は予想どおり 640x480 ですが、フレーム レートは 30fps に低下します。今回は fps 値をオーバーライドします。カメラはサポートしていますが、640x480@60fps では動作しません。
cv2.VideoCapture が v4l2-ctl で書かれた設定をオーバーライドするのを防ぐアイデアはありますか?