CHDK:
Liberte sua câmera digital!




Ricardo Jurczyk Pinheiro
Antes de tudo:
●   Objetivo puramente informativo.
●   Até aqui, tudo funciona.
●   Alterações por sua própria conta e risco.
●   Aceitamos sugestões, idéias e críticas
    construtivas.
    Momento jabá:



      http://retrocomputaria.blogspot.com
                  LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   2
Quem sou eu?
●   Professor:
       –   FAETEC.
       –   Faculdades (UERJ, UniverCidade,
            Paraíso).
●   Matemático e professor de matemática
    pela UFRJ.
●   Mestre em Computação pela UFF.
●   MSX desde 1986, Unix desde 1991, Linux
    desde 1998.
                     LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   3
Motivações:
●   Fotografia, um dos hobbies da família.
        –   Pai – fotógrafo amador desde que eu me
             conheço por gente.
        –   “Se um grande fotógrafo não precisa de
              uma boa câmera para fazer arte, a
              recíproca também é verdadeira.” (Eu
              mesmo).
●   Espírito “fuçador” - retrocomputação,
    firmwares alternativos, curiosidade... E
    mais um pouco.
                     LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   4
O que é um sistema embarcado?
●   “Sistema onde o computador é
    completamente encapsulado e dedicado
    ao dispositivo ou sistema que ele
    controla.” (Wikipedia)
●   Sistema que usa microprocessadores ou
    microcontroladores.
●   Foco de uso muito específico.
●   Aplicação salva em memória somente
    leitura.
●   Restrições de tamanho e/ou de consumo
    de energia. LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   5
A câmera usada em questão
●   Canon Powershot S2IS
       –   5 Mpixels
       –   Zoom ótico de 12X
       –   Sistema operacional
             VxWorks
       –   Adquirida em 2007
            (substituída pela S3IS).
       –   Modelo antigo para os
            padrões atuais.

                       LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   6
Fotos panorâmicas
●   Panorama: Vista inteira de uma área
    circunvizinha.
●   A fotografia panorâmica tenta capturar tal
    vista.
●   Montagem feita a partir de 2 ou mais
    fotos.
●   Montagem feita com software apropriado
    (Hugin - Linux)

                  LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   7
Exemplos de fotos panorâmicas




                    Praia de Botafogo




          LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   8
Exemplos de fotos panorâmicas




   Enseada de Botafogo – Red Bull Air Race, abril de 2007
                         (3 fotos)




               LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   9
Exemplos de fotos panorâmicas




     Porto Alegre – Mercado Público, julho de 2010 
                       (4 fotos)

            LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   10
Fotos HDR (Alto Alcance Dinâmico)
●   Alcance dinâmico: Quantidade de luz de
    diferentes intensidades que consegue ser
    gravada na câmera.
●   Junta-se várias fotos com diferentes
    exposições e com alcance dinâmico
    pequeno. O resultado é uma imagem com
    alcance dinâmico alto.
●   Imagem com muita informação de
    luminosidade, e controlável por quem
    edita.
                 LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   11
Exemplos de fotos HDR




      LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   12
Exemplos de fotos HDR




    LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   13
“Aquela coceira...”
●   Motivação: Fazer fotos HDR sem a menor
    vontade de fazer todas as aberturas de
    lente necessárias “na mão”.
●   Busca por uma maneira de controlar a
    câmera a partir do computador.




                Búzios, janeiro de 2008 (5 fotos)
                 LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   14
CHDK
●   Canon Hack Development Kit
●   Temporário: Mudanças feitas na não são
    permanentes.
●   Experimental: Use por sua própria conta e
    risco.
●   Livre: licenciado sob a GPL.
●   Última versão: 0.9.9 revisão 1439
    (30/11/2011).

                 LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   15
Instalação
●   Apenas para câmeras da Canon.
●   Apenas para câmeras “point-and-shoot”.
●   Fundamental saber qual é a versão do
    firmware da câmera.
●   Download do firmware certo e descompressão
    no cartão SD.
●   Funciona como se fosse uma atualização de
    firmware.
       –   Há utilitários para Windows e Mac.
                    LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   16
Vantagens
    ●   Captura e trabalha com imagens RAW.
    ●   Configurações adicionais
           –   Exposição mais longa (até 63 s).
           –   Velocidade mais rápida (até 1/100.000 s).
           –   “Bracketing” de exposição automática.
    ●   Informações adicionais no LCD
           –   Histograma de cor ao vivo.
           –   Indicador de carga na bateria.
           –   Profundidade de campo.
                                   
Mais vantagens (e não são todas)
●   Rodar scripts, em UBASIC ou Lua.
       –   Detecção de movimento.
       –   Sequência de operações a serem
            executadas numa foto (HDR!)
●   Controle remoto via USB.
       –   Estereoscopia.
       –   Duas ou mais câmeras sincronizadas,
            tirando fotos em sequência (Matrix?)
●   Única desvantagem que conheço: Agora
    estou “preso” à Canon.
                    LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   18
Exemplo de script do CHDK
@title Timelapse photo

@param a For HDR timelapse movie set:                     if i<10000 then i=10000

@param b       JPG 640x480 + BKT                          if x<2 then x=2

@param c .                                                sleep x*1000

@param m Interval (min)                                   for j=1 to t

@default m 0                                                 cls

@param s Interval (x10 sec)                                  print "Photo take",j,"of",t

@default s 1                                                 shoot

@param t Number of takes                                     print " Waiting",m;":";s*10,"..."

@default t 300                                               print " "

@param x Initial delay (sec)                                 sleep i

@default x 2                                              next j

if t<300 then t=300                                       end

i=60000*m+10000*s
                                   LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   19
Exemplos: Fotografia celeste




                              
           Céu de Maricá – RJ, em janeiro de 2010
                (65 segundos de exposição)
Exemplos: Foto HDR




                         
      Barcos na Lagoa de Barra de São João, 
    Casemiro de Abreu – RJ, em janeiro de 2011
Demonstrações
●   Nada melhor do que vermos, na prática!
●   Sequência de fotos do tipo quadro-a-quadro.
●   Detecção de movimentos.
●   Fotos HDR.
       –   Software usado:QtPFSGui




                   LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   22
Links relacionados.
●   http://chdk.wikia.com
●   http://pt-br.chdk.wikia.com
●   http://youtu.be/JyWjqsWiwgg
●   http://youtu.be/lFzNQh0mqkQ




                  LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio   23
Fim!
    Esta apresentação é distribuída segundo a
     licença Creative Commons ShareAlike,
                       logo:
    ●   Liberada a cópia, reprodução e trabalhos
        derivados.
    ●   Créditos devem ser mantidos.
    ●   Trabalhos derivados devem ser
        compartilhados.
    ●   Texto da licença: http://tinyurl.com/492ssd
                                 

Liberte sua camera digital!

  • 1.
    CHDK: Liberte sua câmeradigital! Ricardo Jurczyk Pinheiro
  • 2.
    Antes de tudo: ● Objetivo puramente informativo. ● Até aqui, tudo funciona. ● Alterações por sua própria conta e risco. ● Aceitamos sugestões, idéias e críticas construtivas. Momento jabá: http://retrocomputaria.blogspot.com LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 2
  • 3.
    Quem sou eu? ● Professor: – FAETEC. – Faculdades (UERJ, UniverCidade, Paraíso). ● Matemático e professor de matemática pela UFRJ. ● Mestre em Computação pela UFF. ● MSX desde 1986, Unix desde 1991, Linux desde 1998. LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 3
  • 4.
    Motivações: ● Fotografia, um dos hobbies da família. – Pai – fotógrafo amador desde que eu me conheço por gente. – “Se um grande fotógrafo não precisa de uma boa câmera para fazer arte, a recíproca também é verdadeira.” (Eu mesmo). ● Espírito “fuçador” - retrocomputação, firmwares alternativos, curiosidade... E mais um pouco. LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 4
  • 5.
    O que éum sistema embarcado? ● “Sistema onde o computador é completamente encapsulado e dedicado ao dispositivo ou sistema que ele controla.” (Wikipedia) ● Sistema que usa microprocessadores ou microcontroladores. ● Foco de uso muito específico. ● Aplicação salva em memória somente leitura. ● Restrições de tamanho e/ou de consumo de energia. LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 5
  • 6.
    A câmera usadaem questão ● Canon Powershot S2IS – 5 Mpixels – Zoom ótico de 12X – Sistema operacional VxWorks – Adquirida em 2007 (substituída pela S3IS). – Modelo antigo para os padrões atuais. LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 6
  • 7.
    Fotos panorâmicas ● Panorama: Vista inteira de uma área circunvizinha. ● A fotografia panorâmica tenta capturar tal vista. ● Montagem feita a partir de 2 ou mais fotos. ● Montagem feita com software apropriado (Hugin - Linux) LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 7
  • 8.
    Exemplos de fotospanorâmicas Praia de Botafogo LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 8
  • 9.
    Exemplos de fotospanorâmicas Enseada de Botafogo – Red Bull Air Race, abril de 2007 (3 fotos) LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 9
  • 10.
    Exemplos de fotospanorâmicas Porto Alegre – Mercado Público, julho de 2010  (4 fotos) LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 10
  • 11.
    Fotos HDR (AltoAlcance Dinâmico) ● Alcance dinâmico: Quantidade de luz de diferentes intensidades que consegue ser gravada na câmera. ● Junta-se várias fotos com diferentes exposições e com alcance dinâmico pequeno. O resultado é uma imagem com alcance dinâmico alto. ● Imagem com muita informação de luminosidade, e controlável por quem edita. LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 11
  • 12.
    Exemplos de fotosHDR LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 12
  • 13.
    Exemplos de fotosHDR LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 13
  • 14.
    “Aquela coceira...” ● Motivação: Fazer fotos HDR sem a menor vontade de fazer todas as aberturas de lente necessárias “na mão”. ● Busca por uma maneira de controlar a câmera a partir do computador. Búzios, janeiro de 2008 (5 fotos) LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 14
  • 15.
    CHDK ● Canon Hack Development Kit ● Temporário: Mudanças feitas na não são permanentes. ● Experimental: Use por sua própria conta e risco. ● Livre: licenciado sob a GPL. ● Última versão: 0.9.9 revisão 1439 (30/11/2011). LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 15
  • 16.
    Instalação ● Apenas para câmeras da Canon. ● Apenas para câmeras “point-and-shoot”. ● Fundamental saber qual é a versão do firmware da câmera. ● Download do firmware certo e descompressão no cartão SD. ● Funciona como se fosse uma atualização de firmware. – Há utilitários para Windows e Mac. LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 16
  • 17.
    Vantagens ● Captura e trabalha com imagens RAW. ● Configurações adicionais – Exposição mais longa (até 63 s). – Velocidade mais rápida (até 1/100.000 s). – “Bracketing” de exposição automática. ● Informações adicionais no LCD – Histograma de cor ao vivo. – Indicador de carga na bateria. – Profundidade de campo.    
  • 18.
    Mais vantagens (enão são todas) ● Rodar scripts, em UBASIC ou Lua. – Detecção de movimento. – Sequência de operações a serem executadas numa foto (HDR!) ● Controle remoto via USB. – Estereoscopia. – Duas ou mais câmeras sincronizadas, tirando fotos em sequência (Matrix?) ● Única desvantagem que conheço: Agora estou “preso” à Canon. LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 18
  • 19.
    Exemplo de scriptdo CHDK @title Timelapse photo @param a For HDR timelapse movie set: if i<10000 then i=10000 @param b JPG 640x480 + BKT if x<2 then x=2 @param c . sleep x*1000 @param m Interval (min) for j=1 to t @default m 0 cls @param s Interval (x10 sec) print "Photo take",j,"of",t @default s 1 shoot @param t Number of takes print " Waiting",m;":";s*10,"..." @default t 300 print " " @param x Initial delay (sec) sleep i @default x 2 next j if t<300 then t=300 end i=60000*m+10000*s LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 19
  • 20.
    Exemplos: Fotografia celeste     Céu de Maricá – RJ, em janeiro de 2010 (65 segundos de exposição)
  • 21.
    Exemplos: Foto HDR     Barcos na Lagoa de Barra de São João,  Casemiro de Abreu – RJ, em janeiro de 2011
  • 22.
    Demonstrações ● Nada melhor do que vermos, na prática! ● Sequência de fotos do tipo quadro-a-quadro. ● Detecção de movimentos. ● Fotos HDR. – Software usado:QtPFSGui LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 22
  • 23.
    Links relacionados. ● http://chdk.wikia.com ● http://pt-br.chdk.wikia.com ● http://youtu.be/JyWjqsWiwgg ● http://youtu.be/lFzNQh0mqkQ LIberte sua câmera digital ­ Ricardo Pinheiro ­ 1o. HacknRio 23
  • 24.
    Fim! Esta apresentação é distribuída segundo a licença Creative Commons ShareAlike, logo: ● Liberada a cópia, reprodução e trabalhos derivados. ● Créditos devem ser mantidos. ● Trabalhos derivados devem ser compartilhados. ● Texto da licença: http://tinyurl.com/492ssd