Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Fotografando em raw com software livre - novidades!

Colaboração: Bruno Buys

Data de Publicação: 16 de junho de 2010

O programa dcraw, do Dave Coffin, tornou-se o fundamento no qual todo o ecossistema de programas gráficos livres da atualidade se baseia, para processar imagens raw.

Não obstante a diversidade de interfaces gráficas que foram criadas para ele, existem ao menos dois bons motivos para usar o dcraw diretamente: você fica perto do bare metal, como se diz, ou seja, perto da coisa real, sem nenhuma camada de tradução entre você e o programa. E também, você se beneficia do desenvolvimento tão logo ele seja publicado. E publicar é uma coisa que o Dave faz sempre!

Só em 2010, com três revisões, o dcraw recebeu suporte a mais 13 modelos de câmeras, além de melhorias no suporte para mais dois. São eles: Sony A450, Kodak Z981, Olympus E-P2, e a Panasonic G2 & GF1. Samsung WB550 e a NX10, Casio EX-Z1050 e Fuji HS10. Canon EOS 550D, Digital Rebel T2i, Kiss Digital X4. Suporte para as imagens da A100 modificadas pelo software da Sony. Suporte melhorado: Sony NEX-3 e NEX-5. Isso para mencionar as inovações recentes. O dcraw suporta, ao todo, 373 câmeras digitais, pela última contagem.

Pesquisando os empacotamentos do dcraw para ubuntu, debian e fedora, descobri que os pacotes disponíveis via estas distribuições estão pelo menos três ou quatro versões atrasados. Até aí normal, distribuições facilitam a vida, mas o preço é esse. Só que, além disso, os pacotes para ubuntu e debian não possuem os arquivos de localização, que são necessários para que o sistema mostre as mensagens do programa, e a manpage em português.

Como fui eu quem traduziu o programa para português, bem como a manpage, é claro que eu quero ver as traduções sendo usadas, né?

Nessa dica vou mostrar como contornar os pacotes das distros, instalar o dcraw com tudo que temos direito, e depois, algumas dicas de uso, porque ninguém é de ferro.

Bom, se você usa fedora 13, pode instalar o pacote rpm, que está completo. Se você usa alguma outra distro, pesquise. Se ela é derivada de debian, as chances são de que ela herdou a localização incompleta. De qualquer forma, fazer o procedimento abaixo vai deixar o seu sistema com o dcraw mais atualizado possível, por isso recomendo.

  1. Baixe a versão mais recente:

      wget -c http://www.cybercom.net/~dcoffin/dcraw/archive/dcraw-9.02.tar.gz
    

  2. Instale o gcc, se ainda não o tiver:

      apt-get install gcc
    

  3. Extraia o pacote do dcraw:
      gunzip dcraw-9.02.tar.gz
      tar xvf dcraw-9.02.tar
    
    Isso vai criar o diretório dcraw, com os seguintes arquivos dentro:

  • dcraw.c - o próprio programa, na versão 9.02, quando essa dica foi escrita.
  • arquivos com extensão .1 - Localizações da manpage
  • arquivos com extensão .po - Localizações das mensagens do dcraw
  • install - um script de instalação
  1. Rode o script de instalação, como root.

      ./install
    

    (Se aparecer um erro parecido com esse: install: falta o operando arquivo é porque o install que está rodando é o /usr/bin/install. Comande com ponto-e-barra antes, para se certificar, ou renomeie o script)

    Esse script vai compilar o dcraw.c, instalar e formatar a manpage e as mensagens do programa para todas as línguas que possuem tradução. Se aparecer um errinho sobre a tradução para nl, não se preocupe. As instalações vão para /usr/local, portanto configure seu PATH de acordo, se for necessário.

    Após terminar isso, observei que o konqueror, quando usado para mostrar a manpage do dcraw, ignora a localização na variável $LANG, e abre a manpage em inglês. No console, fazer man dcraw mostra a página em português como deveria, mas o konqueror insiste na página em inglês. Se isso acontecer na sua máquina, você pode contornar assim:

    Faça backup da manpage em inglês

      mv /usr/local/share/man/man1/dcraw.1 /usr/local/share/man/man1/dcraw.1.bak
    

    Crie um link da página em pt correta no mesmo local onde o konqueror busca a página em inglês:

      ln -s /usr/local/share/man/pt.UTF-8/man1/dcraw.1 /usr/local/share/man/man1/dcraw.1
    

    E assim o konqueror mostra a página localizada.

    Claro que você pode sempre abrir a versão online da manpage, em http://cybercom.net/~dcoffin/dcraw/dcraw_pt.1.html

    ==Usando o dcraw para decodificar imagens==

    Eis aqui alguns comandos que podem ser usados com o dcraw, e suas utilidades. Tenha em mente que sempre que o dcraw processa um arquivo, ele não modifica o arquivo original. O seu arquivo raw nunca sofre nenhuma edição, somente é lido e interpretado para que o programa crie a versão da imagem em outro formato.

  2. Extrai miniaturas para uma pré-visualização:

      dcraw -e *.raw
    

    (a extensão .raw é hipotética. As extensões reais dependem da câmera).

    Isso faz com que o dcraw extraia as miniaturas existentes dentro de cada arquivo, gerando versões jpeg para cada uma das fotos existentes no diretório. Em alguns raros casos, a miniatura está no formato ppm, dependendo do modelo da câmera.

    Suponha que você voltou de uma sessão de fotografia, e está louco para ver os resultados. Mas as fotos estão em raw, e têm que ser convertidas antes. A conversão toma muito tempo, especialmente se forem muitas fotos. O comando acima trabalha em lote, ou seja, passa o dcraw em todos os arquivos raw existentes, e como a tarefa é somente extrair a miniatura, não envolve interpolação. É rapidinho.

    Para ficar em segurança e não tomar o velho erro argument list too long, se o seu diretório de arquivos raw tiver mesmo *muitas* fotos, você pode usar a versão power do comando acima:
      for foto in *.raw ; do
            dcraw -e $foto
      done
    
    O loop for ajuda a evitar o erro mencionado.

  3. Cria uma imagem ppm, a partir do original raw (padrão do programa):

      dcraw foto.raw
    

  4. Cria uma imagem TIFF a partir do arquivo raw:

      dcraw -T foto.raw
    

    Este arquivo tiff é um arquivo em resolução completa, no mesmo tamanho do arquivo raw original, RGB, de 8 bits. Se você estiver satisfeito com a imagem assim diretamente, pode mandá-la para impressão. Caso necessite manipulação, pode facilmente abri-la em um editor de imagens, como o GIMP. No entanto, para uso profissional, a melhor entrada para editores de imagens são arquivos com 16 bits de cor. Eis como gerar um arquivo deste tipo:

  5. Criar um arquivo de 16 bit de cor:

      dcraw -6 -T foto.raw
    

    (somando o -T para saída em tiff)

    Nota: O Gimp 2.6 ainda não edita imagens de 16 bits. Uma alternativa é o Krita, do KOffice.

    Se você abrir uma imagem de 16 bits no Gimp, ele vai descartar informação gráfica. Mas vai avisar antes, é claro. A edição de 16bits no Gimp está em preparação. Está relacionada com o desenvolvimento do GEGL, a nova biblioteca gráfica, segundo o FAQ do Gimp (http://www.gimp.org/docs/userfaq.html#16bit).

  6. Setando a data do arquivo raw para a data em que a foto foi feita.

    Repare que nesse caso aqui o dcraw, de fato, faz uma modificação no arquivo raw, ao contrário do que eu disse acima. Mas a modificação é feita nos metadados do arquivo, e não nos dados da imagem)

      dcraw -z foto.raw
    

    A utilidade disso é assim: imagine que você copiou um arquivo raw de um backup antigo. A cópia tem a data atual (do restauro), mas a foto é antiga. Com esse comando, você altera a data do arquivo, usando a data em que a foto foi feita (essa data consta nos metadados da imagem raw). A cópia restaurada do backup passa a constar no seu computador com a data original de quando a foto foi feita.

    O dcraw nativamente suporta ppm e tiff, como formatos de saída. Ele pode criar jpeg's também, através das miniaturas. Para gerar ainda mais formatos, se for necessários, veja abaixo.

  7. Usando pipes para converter para outros formatos:
      dcraw -c foto.raw | pnmtofits > foto.fits
      dcraw -c foto.raw | pnmtopng > foto.png
      dcraw -c foto.raw | ppmtobmp > foto.bmp
    
    Aqui foi usada a opção -c que joga a saída no console, e um pipe para os programas pnmtofits, pnmtopng e pnmtobmp, disponíveis no pacote netpbm.

  8. Inserindo perfis de cor na imagem gerada

    Perfis de cor são ferramentas poderosas. A utilização correta dos perfis de cor permite uma interpretação rigorosa das cores da imagem, através de diversos computadores, sistemas operacionais e (o que é pior) impressoras.

    O perfil de cor padrão é o sRGB. Para obter uma foto tiff em AdobeRGB, faça:

      dcraw -T -o 2 foto.raw
    

    ou para Wide Gamut RGB:

      dcraw -T -o 3 foto.raw
    

    Com esses comandos em mãos, já se pode brincar bastante com fotos em raw. E nunca mais deixe de usar o raw da sua câmera, que é o melhor para se aproveitar o potencial das máquinas semi-pro e profissionais.

    Feliz hacking!

Veja a relação completa dos artigos de Bruno Buys

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.01/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1015 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Asterisk na Prática 2ª Edição