ascii-photobooth/webcam2ascii.sh

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