Niektóre obrazy, które otrzymuję z kamery internetowej za pomocą fswebcam
, nie wyświetlają się poprawnie.
Porównanie:
Otrzymałem te obrazy za pomocą następującego polecenia:
sudo fswebcam -r 640x480 test.jpg
Mam te same problemy z rozdzielczością 320×240.
EDYCJA:
Próbowałem też pominąć kilka klatek przed uzyskaniem obrazu:
sudo fswebcam -r 640x480 -S 20 test.jpg
I chociaż otrzymuję mniej zniekształconych obrazów, nadal otrzymuję dużo (1 na 6-7 zrobionych)
Co mogę zrobić, aby rozwiązać ten problem z danymi wyjściowymi?
Komentarze
- czy mógłbyś wyjaśnić, w jaki sposób otrzymałeś pierwszy i drugi obraz i jaki wynik szukasz '?
- @lenik Mam oba wyniki używając tego samego polecenia, tych samych specyfikacji. Chciałbym zawsze uzyskać kompletny i dobrze narysowany obraz, taki jak pierwszy.
- Mam podobne problemy z modułem Pi Camera. Dziwne problemy z wyrównaniem. Ale używam ffmpeg i raspicam / raspistill. Nie jestem pewien, czy są powiązane. Jak często ci się to zdarza?
- @ppumkin Zwykle co 10-15 zdjęć. Czasami co 4–5.
- Mimo, że stare pytanie nadal jest na topie w Google .. Czasami jest to również przypadek zrobienia dwóch wielu zdjęć jedno po drugim .. Spowolnij liczbę klatek na sekundę .. Ale jak próbując zrobić coś takiego jak 1 klatka co 5 sekund i zobacz, czy się pojawi, a następnie zmniejsz licznik czasu, aż znajdziesz limit .. Jest to najprawdopodobniej problem z poborem mocy.
Odpowiedź
Miałem podobny problem. Aby pozbyć się tych zniekształconych obrazów, spróbuj:
sudo fswebcam -r 640×480 test.jpg -S 2
. -S nakazuje mu pominięcie pewnej liczby ramek, w tym przypadku dwóch. Mam nadzieję, że to pomoże!
Komentarze
- Próbowałem, ale nadal mam ten sam problem z -S 20. Nie tak bardzo jak bez -S (jak Ciągle miałem zniekształcenia), ale nadal otrzymuję co 5-6 zdjęć.
Odpowiedź
Jestem na moim drugi aparat Na mojej pierwszej kamerze ciągle miałem zepsute obrazy. Są to prawidłowe pliki, ale obraz jest zniekształcony.
Teraz używam Logitecha C270, który dostałem tani w serwisie aukcyjnym. Początkowo miałem pewne problemy z kolorami, ponieważ skompensowałem za poprzedni aparat.
Oto moja obecna linia
fswebcam -d /dev/video0 -S 2 -s brightness=60% -s Contrast=15% -s Gamma=50% -p YUYV -r 1280x720 --jpeg 80 -s Sharpness=40% -s Saturation=15% --title "New Zealand - Wellington - Tawa" $DIR/$filename
Komentarze
- To wygląda na komentarz na temat własnych doświadczeń, a nie odpowiedź. Czy masz rozwiązanie problemu na podstawie swoich doświadczeń?
Odpowiedź
Znalazłem rozwiązanie! Po kilku minutach poprawiania pliku motion.conf doszedłem do następującego wniosku: NIGDY nie używaj większej liczby klatek na sekundę niż 30 dla kamery internetowej (30 klatek na sekundę jest więcej niż wystarczające, aby pracować na każdym przyzwoitym aparacie, więc wyższe fps po prostu podkreślają W pliku konfiguracyjnym (po zainstalowaniu ruchu wpisz Cli: sudo nano /etc/motion/motion.conf) ustaw „framerate” na 30 i „webcam_maxrate” na 30. Problem rozwiązany!
PS -nie „nie używaj wyższych rozdzielczości niż 640 x 480!
Odpowiedź
@darius rozwiązanie w ogóle nie pomaga, ponieważ wydaje się być związany z ruchem, a nie bezpośrednio z fswebcam.
Dla mnie używanie naprawdę niskiej liczby klatek na sekundę i pomijanie klatek pomogło trochę (niewiele). Coś w rodzaju
fswebcam --fps 15 -S 8 -r 640x480 $DATE.jpg
Komentarze
- Witamy w rpi @ stackexchange. Prawdopodobnie powinien to być komentarz, a nie sama odpowiedź.
- Czy powinna? Podałem rozwiązanie
Odpowiedź
Problem z obrazami?
Musisz wygenerować obrazy do katalogu przykładowego, jedno zdjęcie na sekundę
/ cam 20160729154102.jpg 29-lip-2016 18:40 132K
20160729154202.jpg 29-lip-2016 18:41 132K
i wyświetl jeden wygeneruj drugi i usuń pierwszy
Np .: /cam.jpg w innym katalogu
Obraz do wyświetlenia : /cam.jpg Katalog ze zdjęciami: / cam
Gdy oglądasz obraz, to samo przy całkowitym pobieraniu (cm.jpg), w przeciwnym razie od pewnego czasu wyświetlasz ostatni obraz, który jest pobierany i czasami pojawia się błąd.
**PHP script (execute with cron every minute)** <meta http-equiv="refresh" content="60"> <?php date_default_timezone_set("America/Argentina/Buenos_Aires" ) ; ?> <!--<meta http-equiv="refresh" content="60">--> <? $directory="cam"; $dirint = dir($directory); while (($archivo = $dirint->read()) !== false) { $archivos[$archivo] = $archivo; } rsort ($archivos); foreach ($archivos as $archivo) { $e=$e+1; if($e>2){ $file="cam/".$archivo; unlink($file); } } foreach ($archivos as $archivo) { if(preg_match("/jpg/",$archivo)){ $r=$r+1; $alto =400; if($r<3){ $file="cam/".$archivo; $salida = "<img src="".$file."">"; $newfile="cam.jpg"; if (!copy($file, $newfile)) { echo "failed to copy<br>"; } /* if (!copy($file,"capturas/". $archivo)) { echo "failed to copy<br>"; } */ } } } $dirint->close(); ?> <div align="center"> <? echo $salida; ?> </div>
zobacz działający przykład: http://diarionecochea.mobi/camarita/camara.html
Odpowiedź
Widziałem tylko ciemny obraz (brak szczegółów) kiedy Uruchomiłem fswebcam image.jpg. Jednak dostałem dobry obraz, kiedy uruchomiłem
fswebcam –fps 15 -S 8 image.jpg
zgodnie z sugestią Alexandre Strube w odpowiedziach.Dziękuję.