Tags Posts tagged with "kamera"

kamera

film

Moduł kamery dla Raspberry Pi powala nie tylko nagrywać wideo, czy robić zdjęcia, ale również na strumieniowanie obrazu do sieci. Wysyłanie obrazu z Raspberry Pi możliwe jest na kilka sposobów, ale dziś pokażemy jak streamować obraz za pomocą przystosowanej aplikacji mjpg-streamer dla Raspberry Pi.

Instalujemy bibliotekę libjpeg oraz pakiet cmake:

sudo apt-get install libjpeg62-dev cmake

Klonujemy projekt git mjpg-streamer z obsługą modułu kamery z Raspberry Pi:

git clone https://github.com/jacksonliam/mjpg-streamer.git ~/mjpg-streamer

Przechodzimy do katalogu mjpg-streamer-experimental:

cd ~/mjpg-streamer/mjpg-streamer-experimental

Używamy wersji eksperymentalnej, która działa lepiej niżeli wersja stabilna. Obraz jest płynny i nie ma problemów z większa ilościa klatek.

Kompilujemy projekt:

make clean all

Po poprawnym skompilowaniu, możemy już skopiować aplikację do katalogu /opt:

sudo mv ~/mjpg-streamer/mjpg-streamer-experimental /opt/mjpg-streamer

Możemy odpalić streaming obrazu używając polecenia

LD_LIBRARY_PATH=/opt/mjpg-streamer/ /opt/mjpg-streamer/mjpg_streamer -i "input_raspicam.so -fps 15 -q 50 -x 640 -y 480" -o "output_http.so -p 9000 -w /opt/mjpg-streamer/www"

a następnie przejść do adresu ip_maliny:9000. Polecenie uruchamia aplikację do streamowania obrazu z kamery z rodzielczością 640×480 używając przy tym 15 klatek oraz jakość obrazu ustawiony na 50%. Wartosci te możemy sobie zmieniać wg potrzeb.

Możemy stworzyć sobie skrypty, które będa uruchamiać i zatrzymywać aplikację.

#!/bin/bash

if pgrep mjpg_streamer > /dev/null
then
  echo "mjpg_streamer already running"
else
  LD_LIBRARY_PATH=/opt/mjpg-streamer/ /opt/mjpg-streamer/mjpg_streamer -i "input_raspicam.so -fps 15 -q 50 -x 640 -y 480" -o "output_http.so -p 9000 -w /opt/mjpg-streamer/www" > /dev/null 2>&1&
  echo "mjpg_streamer started"
fi

Skryp zatrzymujący strumieniowanie:

#!/bin/bash

if pgrep mjpg_streamer
then
  kill $(pgrep mjpg_streamer) > /dev/null 2>&1
  echo "mjpg_streamer stopped"
else
  echo "mjpg_streamer not running"
fi

Powyższego oprogramowania można użyć np. do monitorowania drukarki 3D.

przez -
1 1074
Microcontroler, mikrokontroler, sprzęt

Płytki Wandboard Solo, Wandboard Dual i Wandboard Quad otrzymały właśnie trzy nowe kamery: RadiumBoards MIPI Camera Board, e-con Systems e-CAM51IMX6 i Avnet WandCam. Oba urządzenia potrafią nagrywać przy rozdzielczości 720p i są podłączane przez interfejs MIPI CSI-2, który oferuje lepszą przepustowość, a brakuje go w takich płytkach, jak BeagleBone Black, czy Raspberry Pi.

RadiumBoards MIPI Camera Board

Kamera posiada 1.3 megapikselowy sensor HD Aptina MT9M114, który zapewnia nagrywanie wideo w rozdzielczości 720p, przy 30 klatkach na sekundę. Zapewnia także kąty widzenia 110 stopni oraz ogniskową 1.7 mm. Na wyjściu mamy YUV422 oraz automatyczną korekcję obrazu.

RadiumBoards MIPI Camera Board

MIPI Camera Board zawiera czujnik obrazu i oddzielną soczewkę, zamontowaną na uchwycie soczewki. Kamerę z płytką łączy 100 mm taśma za pośrednictwem 33 pinowego złącza FPC, wpiętego do interfejsu MIPI CSI-2.

Kamera pobiera 3.3V i 5V, posiada wymiary 40 x 30 x 1.6 mm oraz dwie diody LED. Dostępne są sterowniki dla Linuksa i Androida. Jej koszta wynoszą 50 dolarów.

e-con Systems e-CAM51IMX6

Kamera posiada 5 megapikselowy sensor CMOS OmniVision OV5640, z ogniskową 3.42 mm, kątami widzenia 60 stopni oraz nieskończonym autofokusem 100 mm (infinity autofocus). Nagrywanie VGA i 720p zapewnia 60 klatek na sekundę, 1080p to 30 FPS, natomiast 5 MP spada do 15 klatek.

e-CAM51IMX6 jest podłączana przez giętki kabel z interfejsem MIPI CSI-2 i oferowan ze sterownikami dla Linuksa. Format wyjściowy to YUV422. Koszt kamery wynosi 69 dolarów.

Avnet Wandcam

Kamera posiada 5 megapikselowy sensor CMOS OmniVision OV5640, który jest obsługiwany przez zintegrowany Leopard Imaging Camera Module. Ogniskowa w tym przypadku wynosi 3.5 mm, a infinity autofocus to 10 cm.

Wandcam jest podłączana przez giętki kabel z interfejsem MIPI CSI-2. Oferowana jest ze sterownikami dla Linuksa, oraz jądrem Linux 3.0.35 i GStreamer 0.10. Nie podano rozdzielczości wideo, jednakże patrząc na e-CAM51IMX6, który ma taki sam sensor, można przypuszczać że przy 720p mamy 60 klatek na sekundę, natomiast przy 1080p mamy 30 FPS.

Koszta zakupu wynoszą 49 dolarów.

przez -
1 635
Samsung

Na odbytej niedawno konferencji Tizen Developer Summit, firma Samsung przedstawiła światu pierwsze urządzenie z systemem operacyjnym Tizenkamerę NX300M. Urządzenie posiada 20.3 megapikselą matrycę i 3.31 calowy dotykowy ekran AMOLED z 2.2.1 możliwością obrotu o 180 stopni. Wbudowany sensor APS-C pozwala na ciągłe robienie zdjęć z prędkością 9 klatek na sekundę, z ISO 100 – 25.600.

Jeżeli zaś chodzi o tablety i telefony, to Samsung oznajmił, że pierwsze urządzenia z Tizenem pojawią się dopiero w pierwszym kwartale 2014 roku.

Raspberry Pi

Fundacja Raspberry Pi już wkrótce ogłosi dostępność modułu kamery Pi Noir. Jest to nowa wersja modułu kamery, ale bez filtra IR, dzięki któremu kamera widzi w nocy. Nie ma jeszcze oficjalnej informacji na stronie fundacji, ale dowody mówią same za siebie. Kamera już jest dostępna w sprzedaży w Farnell/Element 14 w cenie 16.56 funtów. To wspaniała wiadomość dla tych, którzy chcą robić zdjęcia i filmy w nocy m.in. astronomicznych fotografii.

Microcontroler, mikrokontroler, sprzęt

Jak wiadomo sterowanie kamerą w Raspberry Pi za pomocą terminala nie jest zbytnio wygodne przy dużej ilości filtrów i różnych opcji. Mając w posiadaniu iPad-a lub iPhone-a można w szybki i łatwy sposób zarządzać kamerą za pomocą aplikacji BerryCam dostępnej w App Store.

Dzięki aplikacji można szybko i łatwo wyświetlać podgląd obrazów z wybranymi filtrami i ustawieniami  w iOS i zapisać na iPhonie lub iPadzie. Same zdjęcia również są zapisywane na Raspberry Pi. Aplikacja to świetny sposób, aby eksperymentować z możliwościami aparatu z Raspberry Pi.

berrycam iOS

Na stronie wsparcia BerryCam dostępny jest opis instalacji serwera aplikacji napisany w Pythonie, do którego można dostać się za pomocą przeglądarki www.

przez -
3 2989
Konsola program

OpenCV jest biblioteka open-source za pomocą której możliwe jest w czasie rzeczywistym przetwarzanie obrazu i  używania go w aplikacjach do np. mapowania gestów, śledzenia ruchu czy rozpoznawania twarzy. Pierre Raufas wykorzystał Raspberry Pi z modułem kamery i OpenCV do utworzenia aplikacji, która rozpoznaje twarze.

Pierre przygotował siedmioczęściowy poradnik jak tego dokonać, aby każdy mógł sprawdzić na własne oczy jak to działa.

Raspberry Pi

Już od dłuższego czasu dostępna w sklepach jest dedykowana kamera dla Raspberry Pi, która obsługiwana jest przez najnowsze wersje Raspbian-a. Kamera posiada 5 megapiksel-ową matrycę i pozwala nagrywać wideo o rozdzielczości do 1080p (1920×1080 pikseli) z 30 kl/s oraz robić zdjęcia o wielkości 2592 x 1944 pikseli. Do czego można użyć takiej kamery? Możliwości jest sporo zaczynając od monitoringu, nagrywaniu wideo czy robienia zdjęć po wykorzystanie kamery wraz z openCV do przetwarzania obrazu oraz jego analizowania. W tym artykule przedstawimy nasze wyniki testów odnośnie jakości przechwytywanych materiałów video oraz zdjęć z kamery.

Jakość zdjęć

Oświetlenie

Poniżej przedstawione są zdjęcia w pełnej rozdzielczości w świetle dziennym, sztucznym i bez oświetlenia (zaciemnionym pomieszczeniu).

Powyższe zdjęcia były robione z domyślnymi ustawieniami za pomocą polecenia

raspistill -o image.jpg

Możliwe jest ustawianie za pomocą filtrów m.in. kontrastu (opcja --contrast), balansu (opcja --awb), ekspozycji (opcja --exposure) jak również w najbliższym czasie ustawieniem ISO zdjęcia (opcja –ISO), która jest w przygotowaniu.

Efekty

Za pomocą opcji --imxfx możemy wybrać kilkanaście efektów m.in. negatyw, pastele, sępie czy efekt filmu.

Więcej informacji o filtrach dostępne jest w oficjalnych poradniku pomocy dostępny na tej stronie.

Film poklatkowy z serii zdjęć

Poniżej przedstawiony jest film poklatkowy wykonany z serii zdjęć za pomocą polecenia

raspistill -t 7200000 -tl 10000 -o image_num_%d_today.jpg

Zdjęcia robione były co 10 sekund.

Jakość video

Nagrywanie video za pomocą polecenia raspivid umożliwia rejestrowanie filmu z rozdzielczością 640x480p60/90 kl/s, 720p do 60 kl/s oraz 1080p/30 kl/s. Poniżej przedstawione są nagrania w kilku konfiguracjach.

720p – przy takiej rozdzielczości oraz 60 klatek na sekundę obraz jest płynny.

1080p – przy tej rozdzielczości oraz 30 klatek na sekundę zdarzają się zgubione klatki. Winna tego jest posiadana przez nas karta SD, która nie jest w stanie zapisywać ciągle takiej ilości danych.

Ruchomy obraz – użyta rozdzielczość 720p. Film wygląda płynnie. Nie widać zniekształceń obrazu. Drgania spowodowane wibracjami wiatraka oraz nawiewem.

Nagranie 640x480p z 90 klatkami na sekundę

Podsumowanie

Kamera jak na matrycę 5Mpix daje bardzo dobrej jakości zdjęcia, które bez problemu można przetwarzać. Jakość wideo daje duże możliwość, do przetwarzania obrazu w czasie rzeczywistym, jak również do późniejszej obróbki. Zapewne w najbliższym czasie znajdą się projekty typu OpenKinect, bazujące na Raspberry Pi z modułem kamery. Urządzenie z powodzeniem może służyć również, jako monitoring pomieszczeń, do strumieniowania obrazu czy do wykorzystania w robotyce lub w budowie wideo-domofonu. Ciężko znaleźć w przedziale cenowym 300 zł kamerę IP z takimi możliwościami, jak przedstawiona tutaj. Jedyną jej wadą jest kiepskie działanie w całkowitych ciemnościach, aczkolwiek już znaleźli się śmiałkowie, którzy zaradzają temu. Kamera warta jest wydania 120 – 140 zł nie tylko dla hackerów i dłubaczy, ale i dla zwykłej osoby początkującej, która znajdzie w niej sporo zabawy i możliwości.

Choć nie ma obecnie dostępnych obudowy dla kamery, da się obejść i bez niej:

montowanie kamery

Podziękowania

W podzięce za pomoc w realizacji nagrania pozwoliliśmy naszemu TUX-owi ochłodzić się troszkę :)

Polecane

Jesień Linuksowa

1 1170
Polska Grupa Użytkowników Linuksa ma zaszczyt zaprosić na konferencję Jesień Linuksowa 2017, która odbędzie się w dniach 22 – 24 września 2017 roku. Jako...