Получите необработанное изображение от V4L (веб-камера) устройство

Если волшебная строка не обеспечивается, оболочка по умолчанию используется для запущения скрипта. Этой оболочкой по умолчанию могла или быть Оболочка Bourne (sh), который имеет место в некоторых разновидностях, однако, в некоторых других разновидностях, используемая оболочка по умолчанию является тем же как оболочка входа в систему для выполнения ее. Вещь: не предоставляйте системе право решать оболочку, всегда обеспечивать оболочку, которую Вы хотите в первой строке.

2
30.10.2013, 20:04
1 ответ

Это - то, что мы имеем до сих пор:

#!/bin/bash

tempdir=/tmp/fswebcam
host="167.174.70.42"
destdir=~/fsweb
tformat=%Y-%m-%d_%H-%M-%S

if [ ! -d "$tempdir" ]; then
    mkdir $tempdir
fi

cd $tempdir

dooropentime=$(date +$tformat)

for i in {1..3}
do
    starttime=$(date +%s%N)
    echo -e "\n==== starting capture at" $(date +%H:%M:%S.%N) "====  (# $i)"
    fswebcam --device /dev/video0 --input 0 --resolution 1280x720 --timestamp "$tformat" $tformat.jpg
#   fswebcam --device RAW:/dev/video0 --palette NV12MB --resolution 1280x720 $tformat.jpg
    endtime=$(date +%s%N)
    echo -e "==== capture finished at" $(date +%H:%M:%S.%N) "==== (in "$((($endtime - $starttime) / 1000000))"ms)\n"
done

echo "packing..."
tar -cjf $dooropentime.tar.bz2 *.jpg

echo "copying..."
scp *.tar.bz2 pi@$host:$destdir
#cp *.tar.bz2 $destdir
rm -r $tempdir/*
echo "done!"

Это - все еще симпатичные сырые данные, но по крайней мере это работает. Получение кадра берет приблизительно 3 300 мс на пи.

--device RAW:/dev/video0 производит ошибку несовместимости палитры и палитру NV12MB (http://www.firestorm.cx/fswebcam/ "fswebcam-20060604: Добавленный тип палитры NV12MB (только для необработанного источника)"), кажется, отсутствует.

Какие-либо идеи?

1
27.01.2020, 22:22

Теги

Похожие вопросы