Propaganda
Observe as nuvens se moverem ou uma muda crescer. A fotografia com lapso de tempo pode realmente dar uma idéia de como o mundo funciona em um nível macroscópico, além de qualquer coisa concebível para a experiência humana normal do tempo. Ou outras palavras: pode transformar assistir a tinta secar em algo bastante interessante. Infelizmente, equipamentos profissionais com lapso de tempo - além de adicionar a capacidade de girar ou mover sua câmera - como o Gênio pode custar até US $ 1000. Hoje, criaremos um controlador de lapso de tempo básico sem movimento - para DSLR ou webcam USB - com apenas um Raspberry Pi.
Não deixe de conferir todos os nossos outros ótimos Projetos Raspberry Pi também.
DSLR
Como sempre, todo o nosso trabalho com o Pi será realizado em uma linha de comando SSH, e podemos capturar os arquivos usando o SFTP com as mesmas credenciais se você os tiver armazenado no Pi, em vez da câmera. Se você não tiver certeza de qual é o endereço IP do seu Pi, faça logon no seu roteador e veja a lista de dispositivos conectados no momento - ele deve estar se reportando corretamente.

Comece instalando algum software essencial:
O sudo apt-get instala o gphoto2. O sudo apt-get instala o imagemagick.
O GPhoto2 é um utilitário de linha de comando para interagir diretamente com as câmeras DSLR suportadas (veja a lista completa aqui). Eu usei uma Canon Rebelde T4i / 650D Revisão e doação Canon Rebel T4i dSLRA Canon acaba de lançar seu novo Rebel T4i - sua primeira (de muitas esperanças) aventuras no mundo dSLR com tela sensível ao toque. Esta câmera é um avanço do Canon Rebel T3i (também o torna o terceiro ... consulte Mais informação . Agora, conecte sua câmera ao Pi via USB.
Como usei valores ISO automáticos e o modo AV, a configuração é relativamente simples e podemos capturar a série usando apenas a linha de comando - o utilitário inclui parâmetros internos de lapso de tempo. Aqui está o comando mais básico que você pode usar para testar os recursos:
gphoto2 - captura-imagem-e-download
que transferirá o arquivo para o seu Pi, ou
gphoto2 --capture-image
para manter a imagem na câmera. Com 8 MB de pop, é possivelmente melhor mantê-los na câmera e realizar a montagem do filme após o fato em um PC ou Mac.
Importante: Por padrão, as imagens são salvas em SD-RAM, não no cartão de memória da câmera. Ou seja, você perderá todos eles (falo por experiência própria). Para garantir que eles realmente sejam salvos, precisamos primeiro definir o destino da captura:
gphoto2 --get-config / main / settings / capturetarget.
Veja a lista que ela gera e defina o destino da seguinte maneira, substituindo 1 com o que for mostrado como seu cartão.
gphoto2 --set-config / main / settings / capturetarget = 1.
Para capturar no modo lapso de tempo, acrescente -F e -EU para especificar o número total de quadros você quer capturar, e o tempo intervalo entre cada um. Neste exemplo, capturar uma vez a cada 30 segundos para um total de 1440 quadros, que quando transformados em um filme de 24 FPS será igual a um minuto. Não acho que a bateria da minha câmera dure tanto tempo, mas vou ver quantas recebo.
gphoto2 - captura de imagem -F 1440 -I 30.
Uma peculiaridade a ter em mente; após a conclusão do comando, a câmera pode desligar e deixar de responder - você precisará alternar manualmente a chave liga / desliga (pelo menos no meu modelo). Isso não deve ser um problema em campo quando em uso, mas, para fins de teste, é bastante irritante. Se você souber uma solução para isso, me avise nos comentários, por favor!

Fazendo um filme
Transfira os arquivos para o seu computador desktop para processamento. Em um Mac, achei mais fácil usar a linha de comando, mas você precisará XCode, Homebrewe MPlayer instalado primeiro. Para fazer isso, primeiro baixe o Xcode na App Store (é grátis) e depois no Preferências -> Transferências guia, ative Ferramentas de linha de comando.

Em seguida, execute (um de cada vez):
ruby

Agora você deve ter os componentes de codificação necessários instalados. Execute os seguintes comandos para criar primeiro uma lista dos arquivos .jpg capturados e, em seguida, alimente essa lista no mencoder, um utilitário usado para criar vídeos. Altere o valor do FPS se você preferir que o filme seja mais rápido.
CD
ls * .jpg> list.txt. mencoder -nosound -ovc lavc -lavcopts vcodec = mpeg4: aspecto = 16/9: vbitrate = 8000000 -vf scale = 640: 480 -o timelapse.avi -mf type = jpeg: fps = 24 mf: //@list.txt.
Aqui está o que eu acabei usando 24 FPS de 330 quadros capturados a cada minuto, de manhã a meio da tarde. O clima é realmente ruim na Grã-Bretanha, de sol a nublado em intervalos de 5 minutos ao longo do dia. Suspiro.
Para codificar um filme no Windows, ou se você preferir usar uma GUI, faça o download Avidemuxe siga o tutorial em vídeo abaixo. Verifique se as fotos estão numeradas sequencialmente.
https://www.youtube.com/watch? v = GZmkfk-YrG4 # t = 73
Usando uma webcam USB
Obviamente, nem todo mundo tem uma DSLR, mas, em vez de comprar um caro módulo de câmera oficial para o Raspberry Pi, você também pode fazer fotos em time-lapse usando um dispositivo USB pronto para uso. webcam - no meu caso, um PS3 Eye, que geralmente é bastante trabalhoso para trabalhar no PC ou Mac, mas funciona de maneira imediata no Pi. Pode ser necessário usar um hub USB alimentado e o suporte da câmera é esboçado.
Primeiro, verifique se sua webcam foi detectada corretamente.
ls -l / dev / video *
Felizmente, você verá / dev / video0 listado assim:

Em seguida, podemos prosseguir com a instalação do software de captura de webcam e tirar uma foto de teste.
sudo apt-get install fswebcam.
fswebcam -d / dev / video0 -r 640x480 test.jpeg.
Exclua o arquivo com:
rm test.jpg.
Faça algumas fotos de teste para permitir que você posicione a câmera adequadamente, e continuaremos com o script de lapso de tempo.
mkdir timelapse. nano runtimelapse.
Cole o seguinte:
#! / bin / bash. # Controlador Timelapse para webcam USB DIR = / home / pi / timelapse x = 1. while [$ x -le 1440]; nome do arquivo = $ (data -u + "% d% m% Y_% H% M-% S"). jpg fswebcam -d / dev / video0 -r 640x480 $ DIR / $ nome do arquivo x = $ (($ x + 1)) dormir 10; feito;
Para fins de teste, defini o tempo de espera entre as fotos como 10 segundos. Quando você realmente começar a capturar, convém alterá-lo para cada minuto. Altere a linha a seguir para determinar quantos quadros capturar, no exemplo definido como 1440:
while [$ x -le 1440]; Faz.
Para tornar o script executável, use:
chmod 755 runtimelapse.
Em seguida, execute-o usando:
./runtimelapse.

Fazendo um filme
Ainda na linha de comando SSH, tentaremos montar o filme diretamente no Pi - se você tirou milhares de fotos e sua webcam está mais alta resolução, você pode achar que isso é assustadoramente lento; nesse caso, role até as instruções do filme para DSLR e transfira os arquivos para o seu PC usando SFTP.

cd timelapse. ls * .jpg> list.txt. sudo apt-get install mencoder. mencoder -nosound -ovc lavc -lavcopts vcodec = mpeg4: aspecto = 16/9: vbitrate = 8000000 -vf scale = 640: 480 -o timelapse.avi -mf type = jpeg: fps = 24 mf: //@list.txt.
Se tudo parecer bem, mas você obtiver uma saída de arquivo de 0 KB, significa que não há espaço suficiente na pasta temporária de seus dispositivos. Eu resolvi isso com uma instalação limpa e expandindo o sistema raiz novamente - parece que o BTSync havia atrapalhado alguns arquivos temporários.
Aqui está a cena final de uma webcam USB, do final da tarde ao escuro.
Isso foi muito mais fácil do que eu pensava que seria - e não ficaria surpreso em encontrar alguém nos comentários detalhando um método ainda mais fácil! Experimente uma visão fascinante da vida que, de outra forma, seria difícil de entender e compartilhe um link para suas criações nos comentários ou em outros vídeos que você achou particularmente inspiradores.
James é bacharel em Inteligência Artificial e possui certificação CompTIA A + e Network +. Ele é o principal desenvolvedor do MakeUseOf e passa seu tempo livre jogando paintball e jogos de tabuleiro em VR. Ele está construindo PCs desde que era criança.