Capture - fotoaparát na povel

Jste linuxoví kreativci, rádi fotografujete a vlastníte navíc fotoaparát Canon? Pak byste měli vyzkoušet tento šikovný prográmek.

18.4.2007 06:00 | František Bublík | přečteno 12140×

V dobách, kdy jsem si ještě nepřipravoval nákup hardwaru zjišťováním kompatibility s Linuxem, jsem ve slevě zakoupil fotoaparát Canon Powershot A 310. Krátce po té jsem se začal zajímat o možnost propojení fotoaparátu s linuxovým počítačem. Protože tento přístroj nepodporuje mass-storage, hledal jsem software, který by uměl s fotoaparátem komunikovat. Jen díky mé tehdejší neznalosti a vyhledávání pomocí klíčového slova "Canon" se mi na obrazovce objevil balíček capture_x_x.rpm. Tenkrát jsem jej nainstaloval, spustil a hned z počátku nepochopil, k čemu to může být dobré, takže jsem jej dále nepoužíval. Teprve zkoumání, zda by bylo možné použít na Linuxu můj fotoaparát jako webovou kameru, mne donutilo se k programu vrátit a objevit jeho dříve netušené možnosti.

Capture

Takže program ovládá některé modely fotoaparátů značky Canon. Umí manipulovat s různými nastaveními, jako je použití blesku, nastavení citlivosti, jasu, rychlosti uzávěrky, zoom atd. Umí fotit a ukládat snímky sekvenčně číslované na disk počítače. Aby bylo možno fotoaparát správně nasměrovat, disponuje capture náhledovým oknem velikosti 320x240, ze kterého lze v aktuální verzi programu zachytávat obrázky ve formátu *.jpg a z nich pak vytvořit pomocí mencoderu videosoubor. Chcete-li zjistit zda je váš typ fotoaparátu podporován, navštivte oficiální stránku projektu, kde naleznete seznam. Také můžete navštívit přímo stránku autora, jímž je český programátor pan Petr Daněček. Nejsem zrovna nějakým nadšeným obdivovatelem květin, ale video rozvíjejícího se květu na autorově stránce mne docela uchvátilo. Možná teprve zhlédnutí takového videa člověku ukáže, co je všechno možné pomocí programu capture vytvořit. Lze jej použít všude tam, kde je potřeba zachytit pomalý, okem sotva postřehnutelný pohyb např: změny v přírodě, růst rostlin, vysychání vody a podobně. Další možností je třeba použití fotoaparátu jako webové kamery. Nyní se pojďme na program podívat trochu podrobněji:

Instalace

V Mandrivě, kde jsem program zkoušel, je program připraven jako distribuční balíček. Pomocí "urpmi capture" nainstalujete distribučni verzi. Chcete-li verzi nejnovější, musíte navštívit oficiální stránku projektu. Osobně jsem testoval verzi 1.0.3, ale v době psaní tohoto článku je již k mání verze 1.0.4. Budete-li jí chtít zkompilovat, je potřeba mít nainstalovanou knihovnu libptp a gtk-devel (v Mandrivě 2007 je to libgtk+2.0_0-devel). Je to ostatně popsáno v README. Možná narazíte jako já při kompilaci na chybové hlášení s řetězcem "-pedantic-errors" a kompilace se nezdaří. Na radu autora jsem ze souboru "Makefile" u položky "CFLAGS=" vymazal zmíněný řetězec a pak se program bez potíží přeložil.

Používáme capture

Před spuštěním programu nejprve připojíme (podporovaný) fotoaparát Canon s nabitými bateriemi, nebo se síťovým adaptérem a zapneme jej. V modernějších distribucích zrušíme všechny připojovací dialogy a v konsoli spustíme příkaz capture. Jako první příkaz vám doporučím zkusit "help", který vypíše všechny další interaktivní příkazy.

	  
capture> help
Interactive commands:
        aperture            Set the aperture
        capture             Capture image and save it to the given file name
        photograph          Capture image but do not download it
        detach              Quit the client but let the server running
        debug               Toggle debug mode
        ecomp               Exposure compensation
        effect              Photo effect
        flash               Set flash mode
        focus               Focus lock/unlock
        focuspoint          Sets the focusing point to center/auto
        help                More help on a commmand: "help COMMAND"
        iso                 ISO speed
        macro               Set the macro mode
        metering            Light metering mode
        quit                Quit both the server and client
        shutter             Set the shutter speed
        start               Initialize the camera
        status              Get the server's status
        test                Debugging tests
        tv/av               TV/Av Setting - sets aperture/shutter priority
        viewfinder          Turn the viewfinder window on/ff
        vfsave              Save viewfinder images into files with a given prefix.
        vfalign             Align the viewfinder window with the specified image.
        vftrans             Set the viewfinder transparency in 'transparent' mode.
        borders             Draw borders around the viewfinder, in % of the height/width.
        white               White balance
        zoom                Set zoom: 0..6 optical zoom, 7..10 digital zoom
        qual                Set image quality
        size                Set image size
capture>	  

Detaily k interaktivním příkazům si nyní můžeme nechat vypsat použitím "help příkaz". Tak například možnosti příkazu "flash" jsou:

capture> help flash
        off
        auto
        on
        auto red eye
        on red eye
capture> 
Pokud příkaz žádné volby nemá, vypíše např. help photograph základní seznam příkazů.

Fotíme

Inicializaci fotoaparátu provedeme příkazem "start" a nyní již můžeme zadávat jednotlivé příkazy. Úplně nejjednodušší možnost je rovnou fotit: capture fotka.jpg.

$capture> start
$capture> capture fotka.jpg
Ve vámi preferovaném obrázkovém prohlížeči si prohlédneme výsledek, který se po takto zadaném příkazu vytvoří jako ./fotka.jpg. Pro ty z vás, kteří se fotografováním zabývají trochu více, než jen používáním automatiky na fotoaparátu, jsou zajímavé nastavovací volby programu. Je samozřejmé, že u levnějších modelů nebudou všechny volby k dispozici a je potřeba u každého typu aparátu vyzkoušet, co funguje a co ne. Například mnou používaný Powershot A 310 si nerozuměl s funkcí "zoom" a "photograph". Při jejichtestování vždy došlo k přerušení komunikace mezi programem a aparátem a obojí bylo nutno vypnout a spustit znovu.

Bez problémů jsem mohl používat nastavení blesku (flash), nastavení rychlosti uzávěrky (shutter), nastavení citlivosti (iso), a nastavení kvality snímku (qual). V tcl skriptu, který jsem použil pro online přenos z LPT5, jsem také používal ověření běhu programu příkazem "status". Popis skriptu je spíše na samostatný článek, proto jej zde nebudu uvádět.

Uvedu zde ale malý příklad (díky panu Daněčkovi), který demonstruje možnosti použití programu pro opakované automatizované focení.

#!/bin/sh
> capture 'start'
> capture 'flash off' 
> capture 'zoom 1' 'metering spot' 'focuspoint center'
> for (( I=1; I<5; I++ )); do 
> 	echo $I; 
> 	capture "test-$I.jpg";
> 	sleep 1; 
> done
> capture 'quit'
Jak je vidět, všechny interaktivní příkazy je možné použít jako parametr na příkazové řádce buď jednotlivě, nebo i několik za sebou, oddělené mezerou.

Filmujeme

Program obsahuje také šikovnou vychytávku "vievfinder", což je okénko s malým náhledem obrázků přímo přenášených fotoaparátem. Jeho hlavním účelem je asi možnost nasměrovat fotoaparát na objekt, který chceme fotit. Použitím příkazu "viefinder on" se nám otevře malé okénko s přenášeným obrazem jako z webkamery.

viewfinder_image

V posledních verzích programu přibyla nová možnost, a to příkaz "vfsave", který zachytává sled obrázků v jpeg do námi určeného adresáře. Nejlépe příklad:

$capture
capture> start
capture> viewfinder on
capture> vfsave /home/user/picture/zaznam_

capture> vfsave off

Nyní nám v adresáři ~/picture/ vzniklo množství malých obrázků s názvem zaznam_xxxxxx.jpg, kde za "x" si domysleme číslování od 000000. Po ukončení záznamu příkazem "vfsave off" nebo "vievfinder off" si můžeme záznam prohlédnout například za použití mplayeru. Také můžeme vytvořit film ze sledu obrázků programem mencoder.


$ mplayer "mf://*.jpg" -mf fps=10
$ mencoder "mf://*.jpg" -mf fps=10 -ovc copy -o output.avi

Použitý parametr "fps=10" určí rychlost přehrávaného (vytvářeného) videa a lze s ním libovolně experimentovat.

Závěrem

Program byl vytvořen pro specifickou činnost, a sice pro mnohonásobné, opakované, automatické focení. Možnost využití ve skriptech z něj dělá velmi šikovný kousek softwaru. Výsledky takového fotografování najdete na druhém, níže uvedeném odkazu. Výsledná videa doporučuji zhlédnout. První odkaz vede na oficiální stránku projektu, kde naleznete seznam podporovaných fotoaparátů a další informace. Vlastníte-li fotoaparát, který není na seznamu ale přesto s programem capture funguje, neváhejte o tom zpravit autora.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1454