Vývojový kit RASPBERRY PI CAMERA BOARD, 5MP K dispozici jsou tři možná použití: raspistill, raspivid a raspistillyuv. Raspistill a raspistillyuv jsou si velmi podobná a jsou určena k záznamu fotografií, zatímco raspivid je určena k natáčení videa. Všechna použití jsou řízená pomocí psaných příkazů, napsaných tak, aby využívala výhod mmal API, která funguje přes OpenMAX. mmal API poskytuje snáze použitelný systém, který je prezentován OpenMAX. Povšimněte si, že mmal je specifické API používané pouze v systémech Videocore 4. Všechny tři módy využívají až čtyři OpenMAX (mmal) komponenty - camera, preview, encoder a null_sink. Všechna použití využívají komponent camera: raspistill používá komponent Image Encode, raspivid používá komponent Video Encode a raspistill nevyužívá encoder a posílá svůj výstup YUV nebo RGB přímo z komponentu kamery do souboru. Preview zobrazení je volitelné, ale lze jej použít na celou obrazovku nebo na specifikovanou obdélníkovou oblast na displeji. Pokud preview zakážete, bude použit komponent null_sink pro "absorbování" snímků preview. Je nezbytné, aby kamera vytvářela tyto snímky , i když nejsou vyžadovány k zobrazení, protože se používají pro výpočet expozice a nastavení vyvážení bílé. Navíc je možné vynechat volbu tvorby souboru. V takovém případě je preview zobrazeno, ale není zapsán žádný soubor. Nebo jsou přesměrovány všechny výstupy na stdout. K dispozici je příkaz help, který vyvoláte tak, že jen napíšete název aplikace do příkazového řádku. Příprava hardwaru kamery Pamatujte, že moduly kamery jsou citlivé na statickou elektřinu. Než budete manipulovat s deskou plošných spojů, uzemněte se. Pokud nemáte uzemňovací náramek, měl by stačit například vodovodní kohoutek. Deska kamery je připojena k Raspberry Pi pomocí 15-žílového plochého kabelu. Jsou možná pouze dvě spojení: kabel je třeba připojit k desce plošných spojů kamery a Raspberry Pi. Toto zapojení musíte provést správně, jinak nebude kamera fungovat. Na desce plošných spojů kamery by modré krytí na kabelu mělo směřovat směrem od DPS a na Raspberry Pi by měla směřovat k ethernetovému spojení (nebo kde by mělo být ethernetové spojení, pokud používáte model A). Ačkoliv konektory na DPS a Pi jsou rozdílné, fungují podobným způsobem. Na Raspberry Pi vytáhněte poutka na obou stranách konektoru. Měl by se dát snadno zasunout a být schopen se lehce otáčet. Plně zapojte plochý kabel do slotu a ujistěte se, že je tam rovně. Poté opatrně zatlačte dolů poutka tak, aby zapadla na místo. Sama DPS kamery vyžaduje, abyste vytáhli poutka z desky, opatrně zasunuli kabel a poté poutka dali zpět. DPS konektor je trochu složitější než ten na Pi. Video se zapojením konektorů najdete na www.raspberrypi.org/archives/3890 (sjeďte níže). Příprava softwaru kamery Spusťte následující příkazy v příkazovém řádku, abyste si stáhli a nainstalovali nejnovější kernel, GPU firmware a aplikace. Na tuto práci potřebujete připojení k internetu. sudo apt-get update sudo apt-get upgrade Nyní musíte povolit podporu kamery. Použijete k tomu program raspi-config, který jste použili, když jste poprvé nastavovali své Raspberry Pi. sudo raspi-config Použijte kurzorová tlačítka pro pohyb volbami kamery a vyberte enable. Při ukončování raspi-config budete požádání o restart. Volba enable zajistí, že při restartu bude puštěný správný GPU firmware (s ovladačem kamery a nastavením) a rozdělení GPU paměti je dostačující, aby umožnilo kameře získat dost paměti, aby správně fungovala. Pro ozkoušení, že je systém nainstalován a funkční zkuste následující příkaz: raspistill -v -o test.jpg Displej by měl ukázat pětisekundovou ukázku z kamery, poté udělat fotografii a uložit soubot jménem test.jpg, zatímto zobrazuje různé informace. Řešení problémů
Pokud kamera nepracuje správně, můžete zkusit následující věci. - Jsou všechny konektory zapojeny pevně a správně? V zásuvkách musí být rovně. - Je konektor modulu kamery pevně připojen k DPS kamery? Toto je spojení z menšího černého modulu samotné kamery do DPS kamery. Někdy se může uvolnit. Nehtem uvolněte konektor na DPS a poté jej jemným tlakem opět usaďte. Ozve se tiché kliknutí. - Provedli jste sudo apt-get update a sudo apt-get uprage? - Spustili jste raspi-config a povolili kameru (enabled)? Pokud něco stále nefunguje, zkuste následující: Error: raspistill/raspivid not found. Toto pravděpodobně znamená, že váš update/upgrade nějakým způsobem selhal. Zkuste to znovu. Error: ENOMEM displayed. Kamera nestartuje. Zkontrolujte opět všechna spojení. Error: ENOSPC displayed. Kameře nejspíš dochází GPU paměť. Zkontrolujte config.txt ve složce /boot/. Položka gpu_mem by měla být alespoň 128. Pokud kamera stále nepracuje, může mít poruchu (nejspíše utrpěla statický šok). Zkuste navštívit internetové fórum o Raspberry Pi a hledat pomoc tam. Běžné příkazy Volby okna Preview --preview, -p nastavení okna preview <'x,y,w,h'> Umožňuje uživateli definovat velikost a umístění na obrazovce, kde bude umístěno okno preview. Pamatujte na to, že bude umístěno na vrchu přes jakákoliv jiná okna/grafiku. --fullscreen, -f mód celé obrazovky Roztáhne okno preview přes celou obrazovku. Poměr stran obrazu zůstane zachován, takže na některých okrajích mohou být černá pole. --nopreview, -n nezobrazí okno preview Úplně zruší okno. I přesto však kamera bude pořizovat snímky a spotřebovávat energii. --opacity, -op nastaví neprůhlednost okna preview 0 = neviditelné, 255 = úplně neprůhledné Volby ovládání kamery --sharpness, -sh nastaví ostrost obrazu (-100 až 100) Základní nastavení je 0. --contrast, -co nastaví kontrast obrazu (-100 až 100) Základní nastavení je 0. --brightness, -br nastaví jas obrazu (0 až 100) Základní nastavení je 50. 0 je černá, 100 je bílá. --saturation, -sa nastaví sytost obrazu (-100 až 100) Základní nastavení je 0. --ISO, -ISO nastaví ISO (citlivost na světlo) Rozsah je 100 až 800. --vstab, -vs zapne video stabilizaci Pouze u video módu. --ev, -ev nastaví EV kompenzaci obrazu Rozsah je -10 až +10, základní nastavení je 0. --exposure, -ex Možnosti jsou: off auto night
nastavení módu expozice Automatický mód expozice Nastavení pro noční záznam
nightpreview backlight spotlight sports snow beach verylong fixedfps antishake fireworks
Nastavení pro podsvícené objekty Nastavení pro sporty (rychlá uzávěrka atd.) Optimalizováno pro zasněženou krajinu Optimalizováno pro pláž Nastavení pro dlouhou expozici Nastaví fps na pevnou hodnotu Mód proti třesení Optimalizováno pro ohňostroj
Ne všechna tato nastavení lze použít, závisí na nastavení kamery. --awb, -awb off auto sun cloudshade tungsten fluorescent incandescent flash horizon
Nastavení automatického vyvážení bílé (AWB) Vypne výpočet vyvážení bílé Automatický mód (základní) Mód slunečného počasí Mód zataženého počasí Mód wolframového osvětlení Mód osvětlení zářivkou Mód osvětlení žárovkou Flash mód Mód horizontu
--imxfx, -ifx none negative solarise whiteboard blackboard sketch denoise emboss oilpaint hatch gpen pastel watercolour film blur saturation colourswap washedout posterise colourpoint colourbalance cartoon
Nastavení efektu obrazu Bez efektu Vytvoří negativ obrazu Osvítí obraz Efekt bílé tabule Efekt černé tabule Efekt nákresu Odstranění zrnitosti Efekt vytlačení Efekt olejové malby Styl křížové výšivky Styl náčrtu tužkou Pastelový efekt Efekt vodních barev Efekt zrnitého filmu Rozostření obrazu Nasycení obrazu barvami Ne zcela implementováno Ne zcela implementováno Ne zcela implementováno Ne zcela implementováno Ne zcela implementováno Ne zcela implementováno
--colfx, -cfx Nastaví barevný efekt
Parametry U a V (rozsah 0 až 255) se používají pro kanály obrazu U a V. Například --colfx 128:128 by mělo skončit jako jednobarevný obrázek. --metering, -mm Nastavení módu měření Specifikuje mód měření použitý pro ukázku a zachycení obrazu. average Zprůměruje celý snímek pro měření spot Měření bodu backlit Podsvícený obraz matrix Matricové měření --rotation, -rot Nastaví otočení obrazu (0-359) Nastaví otočení obrazu v hledáčku a na výsledném obraze. Hodnota může být jakákoliv hodnota od 0 výš, ale díky hardwarovým omezením má otočení pouze 0, 90, 180 a 270 stupňů otočení. --hflip, -hf Nastaví horizontální zrcadlení
Otočí náhled a uloží obrázek horizontálně. --vflip, -hf Nastaví vertikální zrcadlení Otočí náhled a uloží obrázek vertikálně. --roi, -roi Nastaví oblast zájmu Umožňuje specifikovat oblast senzoru, která bude používána jako zdroj ukázky a zachycení. To je definováno jako x, y pro horní levý roh a šířku a výšku, všechny hodnoty v normalizovaných koordinátech (0.0-1.0). Takže pro nastavení ROI na půli přes a dolů po senzoru a šířku a výšku čtvrtiny senzoru: -roi 0.5,0.5,0.25,0.25 Nastavení specifická pro daná použití raspistill --width, -w Nastaví šířku obrazu --height, -h Nastaví výšku obrazu --quality, -q Nastaví kvalitu jpeg <0 až 100> Kvalita 100 je téměř bez komprese. 75 je stále po všech směrech dobrá hodnota. --raw, -r Přidá surová Bayer data k jpeg metadatům Tato volba vloží surová Bayer data z kamery do JPEG metadat. --output, -o Výstupní název souboru Specifikuje výstupní název souboru. Pokud není specifikován, žádný soubor není uložen. Pokud je název souboru '-', pak je veškěrý výstup vyslán jako stdout. --verbose, -v Výstupní informace během chodu Vytváří výstupní debugovací / informační zprávy během chodu programu. --timeout, -t Čas před zachycením a vypnutím Program běží po tuto specifikovanou dobu a poté provede zachycení obrazu (pokud je specifikován výstup). Pokud specifikován není, je tato hodnota nastavena na 5 sekund. --timelapse, -tl Mód timelapse Specifikovaná časová hodnota mezi fotografiemi v milisekundách. Měli byste specifikovat %04d v bodě názvu souboru, kde chcete, aby se objevilo číslo počtu snímků. Například: -t 30000 -tl 2000 -o image%04d.jpg vytvoří obrázek každé 2 sekundy v průběhu doby 30 sekund, pojmenované budou image0001.jpg, image0002.jpg... image0015.jpg. %04d značí čyřmístné číslo s nulami přidanými, aby tam byl udaný počet číslic. Takže například %08d by vytvořilo osmimístné číslo. --thumb, -th Nastaví parametry thumbnailu (x:y:kvalita) Umožní specifikovat thumbnail obrázku vložený do jpeg souboru. Pokud není specifikován, základní hodnoty jsou 64x48 při kvalitě 35. --demo, -d Spustí demo mód <milisekundy> Tato volba projde rozsahem voleb kamery a neprovede žádné zachycení snímku. Demo skončí na konci periody timeout, ať už došlo k projití všech voleb nebo ne. Čas mezi cykly by měl být specifikován v milisekundách. --encoding, -e Formát výstupního souboru Možnosti jsou jpg, bmp, gif a png. Neurychlené typy obrázků (gif, png, bmp) zaberou více času k uložení než jpg, který je hardwarově urychlen. Při tvorbě souboru je suffix názvu souboru zcela ignorován. --exit, x EXIF tag pro použití při zachycení (formát jako 'key=value') Umožňuje vložení specifických EXIF tagů do JPEG obrázků. Můžete mít až do 32 EXIF vstupů. To je užitečné pro věci jako přidávání GPS metadat. Například nastavením zeměpisné délky: --exif GPS.GPSLongitude=5/1,10/1,15/100 byste nastavili zeměpisnou délku na 5 stupňů, 10 minut, 15 sekund. Viz EXIF dokumentace pro více detailů na rozsahu možných tagů: podporované tagy jsou následující: IFD0.< nebo IFD1.< ImageWidth, ImageLength, BitsPerSample, Compression, PhotometricInterpretation, ImageDescription, Make, Model, StripOffsets, Orientation, SamplesPerPixel, RowsPerString, StripByteCounts, Xresolution, Yresolution,
PlanarConfiguration, ResolutionUnit, TransferFunction, Software, DateTime, Artist, WhitePoint, PrimaryChromaticities, JPEGInterchangeFormat, JPEGInterchangeFormatLength, YcbCrCoefficients, YcbCrSubSampling, YcbCrPositioning, ReferenceBlackWhite, Copyright> EXIF.< ExposureTime, FNumber, ExposureProgram, SpectralSensitivity, a ISOSpeedRatings, OECF, ExifVersion, DateTimeOriginal, DateTimeDigitized, ComponentsConfiguration, CompressedBitsPerPixel, ShutterSpeedValue, ApertureValue, BrightnessValue, ExposureBiasValue, MaxApertureValue, SubjectDistance, MeteringMode, LightSource, Flash, FocalLength, SubjectArea, MakerNote, UserComment, SubSecTime, SubSecTimeOriginal, SubSecTimeDigitized, FlashpixVersion, ColorSpace, PixelXDimension, PixelYDimension, RelatedSoundFile, FlashEnergy, SpacialFrequencyResponse, FocalPlaneXResolution,FocalPlaneYResolution, FocalPlaneResolutionUnit, SubjectLocation, ExposureIndex, SensingMethod, FileSource, SceneType, CFAPattern, CustomRendered, ExposureMode, WhiteBalance, DigitalZoomRatio, FocalLengthIn35mmFilm, SceneCaptureType, GainControl, Contrast, Saturation, Sharpness, DeviceSettingDescription, SubjectDistanceRange, ImageUniqueID> GPS.< GPSVersionID, GPSLatitudeRef, GPSLatitude, GPSLongitudeRef, GPSLongitude, GPSAltitudeRef, GPSAltitude, GPSTimeStamp, GPSSatellites, GPSStatus, GPSMeasureMode, GPSDOP, GPSSpeedRef, GPSSpeed, GPSTrackRef, GPSTrack, GPSImgDirectionRef, GPSImgDirection, GPSMapDatum, GPSDestLatitudeRef, GPSDestLatitude, GPSDestLongitudeRef, GPSDestLongitude, GPSDestBearingRef, GPSDestBearing, GPSDestDistanceRef, GPSDestDistance, GPSProcessingMethod, GPSAreaInformation, GPSDateStamp, GPSDifferential> EINT.< InteroperabilityIndex, InteroperabilityVersion, RelatedImageFileFormat, RelatedImageWidth, RelatedImageLength> Pamatujte, že malá podmnožina těchto tagů bude automaticky nastavena kamerovým systémem, ale bude obejita, jakoukoliv exif volbou na příkazovém řádku. --fullpreview, -fp Mód Full Preview Spustí okno preview pomocí plného rozlišení módu zachycení. Maximální počet snímků za sekundu je v tomto módu 15fps a preview bude mít stejné pole zobrazení jako zachycení. Zachycování by mělo probíhat rychleji, jelikož by neměla být vyžadována žádná další změna. Tato funkce je nyní vyvíjena. raspistillyuv Mnoho z možností pro raspistillyuv je stejných jako pro raspistill. Tato část vám ukáže rozdíly. Nepodporované volby: --exif, --encoding, --thumb, --raw, --quality Funkce navíc: ---rgb, rgb Uloží nezkomprimovaná data jako RGB888 Tato volba uloží obrázek jako RGB data s 8 bity na kanál, nikoliv jako YUV420. Obrázky uložené v raspistillyuv jsou předělány na horizontální velikosti dělitelnou 16 (takže na konci každého řádku mohou být nepoužité byty, aby byla šířka dělitelná 16). Také jsou předělány vertikálně, aby byly dělitelné 16, a v módu YUV je každý rozměr z Y, U, V upraven tímto způsobem. raspivid --width, -w Nastaví šířku obrazu Šířka výsledného videa. Měla by být mezi 64 a 1920. --height, -h Nastaví výšku obrazu Výška výsledného videa. Měla by být mezi 64 a 1920. --bitrate, -b Nastaví bitrate Použití bitů za sekundu. 10MBitů/s bude -b 10000000. Pro H264, 1080p by vysoce kvalitní bitrate měl být 15Mbitů/s nebo víc. --output, -o Výstupní název souboru Specifikuje výstupní název souboru. Pokud není specifikován, žádný soubor není uložen. Pokud je název souboru '-', pak je veškěrý výstup vyslán jako stdout. --verbose, -v Výstupní informace během chodu Vytváří výstupní debugovací / informační zprávy během chodu programu.
--timeout, -t Čas před zachycením a vypnutím Program běží po tuto specifikovanou dobu a poté provede zachycení obrazu (pokud je specifikován výstup). Pokud specifikován není, je tato hodnota nastavena na 5 sekund. Nastavení 0 znamená, že aplikace poběží nepřetržitě, dokud ji nezastavíte pomocí Ctrl-C. --demo, -d Spustí demo mód <milisekundy> Tato volba projde rozsahem voleb kamery a neprovede žádné zachycení snímku. Demo skončí na konci periody timeout, ať už došlo k projití všech voleb nebo ne. Čas mezi cykly by měl být specifikován v milisekundách. --framerate, -fps Specifikuje počet snímků za sekundu V současné době je minimální počet snímků za sekundu 2fps a maximální 30fps. To se v budoucnosti nejspíš změní. --penc, -e Zobrazí preview obraz po kódování Zapne volbu pro zobrazení preview po kompresi. Toto zobrazí jakékoliv pozůstatky komprese v okně preview. Při normální operaci preview ukáže výstup kamery předtím, než je zkomprimován. Tato volba nemusí u budoucích vydání fungovat. --intra, -g Specifikuje periodu obnovení (key frame rate/GoP) Nastaví GoP pro nahrávané video. H.264 video využívá kompletní snímky (I-frame) každou obnovovací periodu, na které jsou založeny následující snímky. Tato volba specifikuje počet snímků mezi každámi I-frame. Větší čísla budou snížena na velikost výsledného videa, menší čísla učiní stream odolnějším vůči chybě. Příklady Fotografie Normálně se fotografie pořizují na nejvyšším rozlišení podporovaném senzorem. To lze změnit pomocí příkazových řádků -w a -h. Provedením základního zachycení po dvou sekundách (časy jsou specifikované v milisekundách) v hledáčku, uložení jako image.jpg. raspistill -t 2000 -o image.jpg Zachycení obrázku s jiným rozlišením raspistill -t 2000 -o image.jpg -w 640 -h 480 Nyní snižte značně kvalitu pro zmenšení velikosti souboru raspistill -t 2000 -o image.jpg -q 5 Zobrazení preview na koordinátech 100, 100 se šířkou 300 a výškou 200 pixelů. raspistill -t 2000 -o image.jpg -p 100,100,300,200 Úplně zrušte preview. raspistill -t 2000 -o image.png -e png Uložte obrázek jako png soubor (bezeztrátová komprese, ale pomalejší než JPEG). Při výběru formátu obrázku je zcela ignorován suffix názvu souboru. raspistill -t 2000 -o image.png -e png Přidejte nějaké EXIF informace k JPEG. Tím nastavíte Artist tag název na Mooncase a GPS výšku na 123.5m. Při nastavování GPS tagů byste měli nastavit minimální GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef, GPSAltitude a GPSAltitudeRef. raspistill -t 2000 -o image.jpg -x IFDO.Artist=Mooncake -x GPD.GPSAltitude=1235/10 Nastavte efekt vytlašení Raspistill -t 2000 -o image.jpg -ifx emboss Nastavte U a V kanály YUV obrázku na specifické hodnoty (128:128 vytvoří obrázek v odstínech šedé) raspistill -t 2000 -o image.jpg -cfx 128:128 Spusťte prevew POUZE na dvě sekundy, bez uložení obrázku.
raspistill -t 2000 Proveďte zachycení obrázku timelapse, jednou každých 10 sekund po 10 minut (10 minut = 600000 ms), jménem image_number_1_today.jpg, image_number_2_today.jpg a dál. raspistill -t 600000 -tl 10000 -o image_num_%d_today.jpg Vytvořte obrázek a zašlete data do stdout. raspistill -t 2000 -o Vytvořte obrázek a pošlete data obrázku do souboru. raspistill -t 2000 -o - > my_file.jpg Zachycení videa Velikost obrázku a nastavení preview jsou stejné jako pro fotografie. Základní velikost pro nahrávání videa je 1080p (1920x1080). Nahrajte 5s klip se základními nastaveními (1080p30) raspivid -t 5000 -o video.h264 Nahrajte 5s klip při specifikovaném bitrate (3.5 Mbitů/s) raspivid -t 5000 -o video.h264 -b 3500000 Nahrajte 5s klip se specifikovaným framerate (5fps) raspivid -t 5000 -o video.h264 -f 5 Vytvořte 5s kamerový stream a pošlete obrazová data do stdout raspivid -t 5000 -o Vytvořte 5s kamerový stream a pošlete obrazová data do souboru raspivid -t 5000 -o - > my_file.h264
GM electronic spol. s r.o.