Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456 Decodificando fotos digitais cruas no LinuxDe volta à home-page do Dave Coffin
Bem-vindo! Se você está pesquisando sobre como conectar
sua câmera digital e baixar imagens em um PC Linux, vá para a
home-page do gPhoto.
Meu software é para processar estas imagens depois de
baixá-las.
Se você está baixando arquivos JPEG, você não precisa do meu
software. A imagem já foi processada dentro da câmera. Quase
todas as câmeras digitais fabricadas desde 1997 produzem imagens
JPEG, então porque você deveria fazer de outra maneira?
Bem, a despeito da conveniência e ubiqüidade do JPEG, existem
algumas desvantagens. JPEG é um formato com perda - para
acomodar uma imagem grande em um arquivo pequeno, um monte de
informação é jogado fora. Por isso que câmeras semi-profissionais
e profissionais oferecem uma alternativa: Arquivos de dados CCD
crus, não-processados, para os quais o fabricante fornece softwares
decodificadores especiais.
Claro, este software é para Windows e Macintosh somente, sem
código-fonte disponível. É inútil para usuários de outros sistemas
operacionais, programadores tentando desenvolver melhores mecanismos
de interpolação, e historiadores ainda não nascidos, em uma era em
que as únicas máquinas Windows estarão em museus.
Portanto esta é minha missão: escrever e manter um programa ANSI C
que decodifica qualquer imagem crua de qualquer câmera digital em
qualquer computador rodando qualquer sistema operacional.
Este programa é chamado dcraw (em inglês
pronuncia-se "dee-see-raw"), e tem se tornado uma ferramenta padrão
dentro e fora do mundo Open Source. É pequeno (em torno de 7000 linhas),
portável (bibliotecas C padrão, somente), e, quando usado habilmente,
produz resultados
de melhor qualidade do que as
ferramentas fornecidas pelo fabricante da câmera.
Aqui está o meu currículo.
Eu faço consultoria free-lance relacionada ao dcraw, e
também estou disponível para trabalho com software em
tempo integral no Nordeste dos EUA.
Eu posso ser contatado enviando-se email para cybercom ponto net,
usuário "dcoffin".
A menos que declarado no código-fonte, estes programas são livres para
todos os usos, mas eu gostaria de receber crédito por eles. Doações são
bem-vindas, também, se você está ganhando dinheiro com o meu código.
Nota a distribuidores Linux: Os únicos arquivos executáveis que
devem ser instalados por um pacote dcraw são "dcraw", "clean_crw", e
talvez "fuji_green", "fujiturn" e "fujiturn16". Meus scripts shell são
perigosos e devem ser instalados somente em diretórios "doc", sem
permissão de execução.
dcraw.c -- decodifica fotos cruas, extrai
miniaturas e mostra metadados Suporta 318 câmeras, até a últma contagem.
Compile com "gcc -o dcraw -O4 dcraw.c -lm -ljpeg -llcms"
ou "gcc -o dcraw -O4 dcraw.c -lm -DNO_JPEG -DNO_LCMS".
Rode sem nenhum argumento para ver uma mensagem de uso. Não
reclame que a saída de 16 bits é muito escura. Leia o FAQ!
Manpage UNIX para o dcraw Esta é a documentação oficial do usuário
para o dcraw, atualizada em sincronia com o código-fonte.
rawphoto.c -- extensão básica para o GIMP 1.2 & 2.0
Depois de instalar o "dcraw", faça "gimptool --install rawphoto.c".
Minha extensão provê uma caixa de diálogo simples para carregar
fotos cruas dentro do GIMP.
Udi Fuchs e
Joseph Heled
escreveram extensões bem melhores, com pré-visualização ao vivo,
histogramas e curvas de cor.
parse.c -- lê estruturas de dados de imagens
Este programa mostra estruturas de dados CIFF e TIFF em uma forma
bastante críptica.
clean_crw.c -- limpa arquivos Canon CRW Arquivos CRW recuperados ou 'des-deletados' freqüentemente possuem lixo
anexado a eles, tornando-os ilegíveis. Este programa os limpa com segurança.
Para adicionar outra língua, mande-me traduções
desta manpage e
desta tabela de mensagens
em codificação UTF-8.
Traduza somente a partir dos meus textos originais em Inglês e Esperanto
-- outras linguagens podem ter erros factuais invisíveis para mim.
Não traduza "Não posso fazer X" como "É impossível fazer X".
O dcraw não é perfeito, então se ele não pode fazer uma tarefa,
não quer dizer que a tarefa seja impossível. Computadores nunca devem
usar o pronome "eu", portanto escreva "o dcraw não pode fazer X".
É correto dizer que o dcraw decodifica "fotos cruas". Algumas
destas fotos cruas são arquivos crus (imagens cruas sem nenhum
outro dado de qualquer tipo), mas a maioria contêm estruturas de
dados cheias de outras informações& sobre a imagem
crua (chamadas "metadados").
"Raw" é uma palavra em inglês, e não um acrônimo ou formato de arquivo.
"raw photo" deve ser traduzido com o mesmo adjetivo que você usaria para
"óleo cru", ou "materiais crus".
Existe dúzias de formatos de imagens crus: CRW, CR2, MRW, NEF,
RAF, etc. "Formato cru" não existe, é uma ilusão criada pela habilidade
do dcraw de ler todos os formatos crus.
Dcraw tem tornado mais fácil que desenvolvedores suportem uma
gama ampla de câmeras digitais em seus aplicativos. Eles podem
chamar o dcraw de uma interface gráfica, colar trechos do
dcraw.c no seu código ou simplesmente usar dcraw.c como a
documentação que os fabricantes se recusam a fornecer.
Se você tem familiaridade com a linha de comando do DOS, mas não sabe C,
você pode instalar este
compilador de C livre
e compilar dcraw.c facilmente.
Porque o dcraw diz "Sem memória suficiente" no Windows Vista?
Esta é uma limitação arbitrária do Windows Vista que será consertada
no Service Pack 1. O Thomas Nicely (da história do Pentium FDIV) tem uma
página descrevendo a história.
Atualmente o que pode ser feito para contornar o problema é compilar
dcraw.exe com um compilador Microsoft, em vez de um compilador GNU.
Como eu posso ler os dados EXIF (velocidade de disparo, abertura, etc)?
O ExifTool do Phil Harvey
é um leitor (e editor!) de EXIF unificado e baseado em Perl, para todas
as câmeras e formatos de arquivo. "dcraw -i -v" é muito mais rápido mas
provê menos informação.
Como eu posso ler arquivo NEF de scanners Nikon?
Dcraw suporta somente câmeras. Tente este pequeno programa
para scanners.
Como eu posso ler imagens Nikon Dust Off (arquivos NDF)?
Onde eu posso obter uma coleção de fotos cruas para testar meu software?
Este website é um bom lugar para trocar amostras de fotos cruas.
Para o conjunto completo de teste do dcraw (todas as câmeras suportadas
pelo dcraw), eu vendo um conjunto de 3 dvd's por us$ 700 e atualizações
via web por us$300 por ano.
Eu estou projetando uma câmera digital. Como eu posso converter as
imagens cruas dela em algo que o dcraw e o Adobe Photoshop possam abrir?
Porque as imagens de saída do dcraw são mais largas do que os JPEG's da câmera?
Qualquer algoritmo que combine cada pixel com os seus vizinhos terá
problemas perto das bordas. Código C é barato, então o dcraw aplica um
algoritmo diferente nos pixels das bordas. A lógica do hardware é cara,
portanto as câmeras cortam fora os pixels das bordas, depois de processarem.
Eu fiz uma foto crua sem luz. Porque ela aparece com ruído, quando deveria ser preto sólido?
Não importa o quanto escura uma imagem é, a auto-exposição do dcraw a 'estica',
de forma que um por cento dos pixels aparecem brancos. A opção "-b"
ajusta este comportamento, ao passo em que a opção "-4" (saída em 16bit)
a evita completamente.
Eu faço 'bracket' com mais dois e menos dois pontos, mas todas as cinco
fotos aparecem quase as mesmas no dcraw. Porque?
Veja a questão anterior.
Porque a saída em 16bit é escura/ilegível?
Se você deseja fotos bonitas saindo direto do dcraw, permaneça com 8bit.
Saída linear em 16bit é a melhor matéria-prima para editores profissionais de
fotos, como Photoshop
e o CinePaint, mas não é boa para a
maioria dos visualizadores de imagens.
O que a opção "-f" (quatro cores RGB) faz?
Se você perceber padrões como este ou
este nos seus arquivos de saída, tente primeiro
"dcraw -a". Se eles persistirem, use "dcraw -f", para se livrar deles.
Você poderia, por favor, inserir uma opção para salvar arquivos em TIFF / PNG / BMP / JPEG?
Nas versões de 8.25 e acima, "dcraw -T" grava arquivos TIFF com metadados.
Para gravar outros formatos:
Eu usei as ferramentas netpbm
nestes exemplos. O ImageMagick também faz conversões de formatos na linha de
comando. Ambos são livres.
Porque você não implementa o dcraw como uma biblioteca?
Eu decidi que o dcraw será um programa de linha de comando escrito em C,
e que quaisquer camadas de abstração adicionais devem ser adicionadas em volta
deste núcleo, e não dentro dele. Código de biblioteca é feio, porque não pode
usar variáveis globais. Bibliotecas são mais difíceis de modificar, compilar,
instalar e testar do que programas independentes, e portanto são inapropriadas
para formatos de arquivos que mudam todos os dias.
Há uma maneira mais simples de tornar o dcraw modular e seguro: Rode-o como
um processo separado. Eric Raymond
explica esta técnica aqui.
Porque existem cores falsas junto às bordas na imagem?
Por causa da interpolação. Este é um problema difícil, facilmente definido:
Considere uma imagem RGB de três cores.
Em cada pixel defina os valores de duas cores como zero.
Reconstrua a imagem original de três cores da melhor maneira possível,
a partir do único valor restante.
Dcraw atualmente permite uma escolha de três métodos: Bilinear, Número Variável
de Gradientes (VNG) e Adaptativo direcionado a homogeneidade (AHD).
O chip de captura Foveon X3 requer um tipo extra de interpolação.
Diferente de sensores CCD, ele captura três cores em cada pixel.
Mas as cores não se separam bem, portanto os dados crus aparecem
muito cinza. Muito processamento é necessário para acentuar a cor
e suprimir o ruído.
Como eu faço minha câmera salvar fotos cruas?
Para a Canon PowerShot A610, A620 e outras,
veja aqui.
Muito provavelmente sim. Se a sua câmera não está
nesta lista tente assim mesmo.
Se não funcionar, poste uma imagem crua em algum website e me mande a URL.
Se você não tem um website, use o Dropload
ou o YouSendIt.
Idealmente, a sua imagem de amostra deverá mostrar um cartão branco padrão,
ou uma tabela de cores em sol direto, com outras cores no fundo.