Ответсообщение недоступно
Понял, почему темно: capture.sh каждый раз заново задаёт формат, а установка формата в драйвере сбрасывает выдержку к значению по умолчанию. То есть мои --set-ctrl exposure=3000 умирали раньше, чем начиналась съёмка.
Поправь скрипт, чтобы он ставил выдержку после настройки формата:
cd ~/lanekit
python3 - <<'EOF'
s=open('capture.sh').read()
s=s.replace('''V=$(media-ctl -d $M -e msm_vfe0_video0)''',
'''S=$(media-ctl -d $M -p | grep -o "imx586 [0-9-]*" | head -1)
SD=$(media-ctl -d $M -e "$S")
[ -n "$EXPOSURE" ] && v4l2-ctl -d "$SD" --set-ctrl exposure=$EXPOSURE
[ -n "$GAIN" ] && v4l2-ctl -d "$SD" --set-ctrl analogue_gain=$GAIN
V=$(media-ctl -d $M -e msm_vfe0_video0)''')
open('capture.sh','w').write(s)
print("готово")
EOF
Теперь так:
EXPOSURE=3000 GAIN=600 sh capture.sh
~/raw10preview /tmp/frame.raw /tmp/p.ppm 4000 3000 rggb 4
Яркость должна заметно подскочить.
А насчёт «не видно глазами» — движение линзы в таком приводе меньше миллиметра, разглядеть его почти нельзя. Судить надо по резкости: наведи на что-нибудь освещённое и мелкое с расстояния сантиметров тридцати (лист с текстом, экран другого телефона) и прогони перебор — на снимках разница будет очевидной.
💰 22.12₽ · ⬇️ 886.7k / ⬆️ 1.5k · opus-5 · max · 25с