24 lines
865 B
Bash
Executable File
24 lines
865 B
Bash
Executable File
#/bin/bash
|
|
#
|
|
# Captures a frame and converts it to ascii art.
|
|
# Reads defaults from webcam.conf. BRIGHTNESS/EXPOSURE env vars (set by
|
|
# exec-cycle.sh's live preview controls) override the config's defaults.
|
|
|
|
dir="$(dirname "$0")"
|
|
[ -f "$dir/webcam.conf" ] && source "$dir/webcam.conf"
|
|
|
|
: "${RESOLUTION:=640x480}"
|
|
: "${JPEG_QUALITY:=85}"
|
|
: "${BRIGHTNESS:=${DEFAULT_BRIGHTNESS:-auto}}"
|
|
: "${EXPOSURE:=${DEFAULT_EXPOSURE:-auto}}"
|
|
: "${BRIGHTNESS_CONTROL:=Brightness}"
|
|
: "${EXPOSURE_CONTROL:=Exposure (Absolute)}"
|
|
|
|
set_opts=()
|
|
[ "$BRIGHTNESS" != "auto" ] && set_opts+=(--set "${BRIGHTNESS_CONTROL}=${BRIGHTNESS}%")
|
|
[ "$EXPOSURE" != "auto" ] && set_opts+=(--set "${EXPOSURE_CONTROL}=${EXPOSURE}%")
|
|
|
|
fswebcam -q --no-banner -r "$RESOLUTION" --jpeg "$JPEG_QUALITY" "${set_opts[@]}" web-cam-shot.jpg &> /dev/null
|
|
ascii-image-converter web-cam-shot.jpg | tee ascii-img.txt
|
|
|