[Dicas-L] Fotografando em raw com software livre - novidades!
Fotografando em raw com software livre - novidades!
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.
wget -c http://www.cybercom.net/~dcoffin/dcraw/archive/dcraw-9.02.tar.gz
Instale o gcc, se ainda não o tiver:
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
Rode o script de instalação, como root.
(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.
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
O loop for ajuda a evitar o erro mencionado.
Cria uma imagem ppm, a partir do original raw (padrão do programa):
dcraw foto.raw
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:
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).
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.
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.
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.