Dada uma imagem, como identificar se é um arquivo RAW ou não

11

Eu sou muito parecido com o nível iniciante, então me perdoe se essa é uma pergunta boba muito básica. Depois de ter um arquivo de imagem de fotografia JPEG, como posso descobrir se é um arquivo RAW ou não?

Temp O'rary
fonte
9
Para verificar - você está perguntando se 'determinado jpeg, podemos descobrir se ele já foi um arquivo bruto e depois convertido' ou se você está perguntando 'Eu acredito que o RAW é um tipo de jpeg e quero verificar se esse jpeg é RAW '? (ou são perguntas iniciante razoáveis, e ambos são fáceis de explicar, mas de maneiras diferentes)
3
Já foi dito aqui no Photo.SE muitas vezes, mas vale a pena repetir: não existe imagem crua. Existem apenas dados brutos. Tudo o que você está visualizando na tela quando abre um arquivo bruto é uma conversão desses dados. Uma curva de luz deve ser aplicada. A desmossificação deve ser aplicada aos valores de luminância monocromática de cada poço de pixel. O equilíbrio de cores, tonalidade, contraste etc. estão sendo aplicados à imagem pelo aplicativo com o qual você a visualiza.
Michael C
2
@MichaelClark Por essa lógica, não existe imagem JPEG ou PNG, o que torna a distinção praticamente inútil.
pipe
4
JPEGs e PNGs têm uma única maneira correta de exibi-los. Eles já estão no formato RGB e têm um espaço de cores designado em seus metadados. Existe apenas uma maneira singular de exibir corretamente um JPEG ou PNG. Um arquivo bruto não é RGB, não é corrigido por gama, não possui balanço de cores / branco, pontos pretos ou pontos brancos definidos etc. Há um número quase infinito de maneiras que um arquivo bruto pode ser interpretado. Se apenas convertermos os valores lineares de luminância de um arquivo de imagem bruto para um formato raster, obteremos um blob de nada preto com manchas de cinza escuro aqui e ali.
Michael C
4
@phuclv cada codificador pode criar um arquivo JPEG ligeiramente diferente. Porém, uma vez que haja um arquivo, existe uma maneira correta de convertê-lo novamente em valores RGB!
Josef diz Reinstate Monica

Respostas:

67

Depois de ter um arquivo de imagem de fotografia JPEG, como posso descobrir se é um arquivo RAW ou não?

Se você possui um arquivo JPEG, não é um arquivo RAW.

RAW não é um formato único, mas um nome coletivo para arquivos de imagem que contêm dados diretamente do sensor. Os arquivos RAW precisam ser processados ​​para convertê-los em formatos de imagem de uso geral, como JPEG ou PNG. A maioria das câmeras pode fazer o processamento por conta própria, para salvar suas imagens no formato JPEG ou gravar os dados RAW em um arquivo para processamento no seu computador. De qualquer forma, se você sabe que seu arquivo é um arquivo JPEG, por definição não é um arquivo RAW.

Caleb
fonte
3
"RAW não é um formato único, mas um nome coletivo para arquivos de imagem que contêm dados diretamente do sensor." Bem colocado. De fato, é uma irritação minha que existe um padrão de capitalizar a palavra "cru" como se fosse um inicialismo. Como você diz, é uma palavra que descreve os tipos de arquivo processados ​​parcialmente gerais ou específicos do fornecedor que representam dados à medida que são capturados por uma combinação de sensor e mecanismo. Como eu disse, animal de estimação. Estou aprendendo a viver com a minha luta.
2
Oh céus. Bem, teremos que discordar disso. Continuarei a usar a palavra "raw" para o conceito e o inicialismo ou acrônimo para interpretações específicas de raw. Você pode dizer que estou falando sério porque usei a palavra "inicialismo".
2
É verdade. Estou brincando, o que espero que esteja claro. Penso que para mim, o ponto principal é como faço para transmitir as informações em prosa. E quando falamos de formatos brutos em geral, ou mesmo de um formato bruto específico que não sobrecarrega o termo com uma extensão de arquivo .RAW, acho que talvez seja menos obscuro usar apenas a palavra em inglês sem nenhuma decoração. É uma tentativa deliberada de diminuir o ruído ou o jargão, especialmente na palavra escrita.
1
@ Hobbs, não sei por que você parece estar discordando disso quando deixei claro que estou de acordo com tudo o que você disse. Estou dizendo que é uma irritação minha que usemos o termo bruto em letras maiúsculas como se fosse um inicialismo quando é, como eu já disse, decididamente não. Talvez , mas apenas talvez, faça sentido ao se referir a um formato de arquivo bruto específico que usa a extensão ".RAW", mas talvez apenas nesse contexto. Se estou argumentando por alguma coisa, estou argumentando por clareza na prosa. Outros podem argumentar por convenção. Essas são duas abordagens válidas.
1
E sim. Reconheço que confundi inicialismo e acrônimo em alguns dos meus comentários anteriores. Talvez eu reconsidere minha irritação, já que a clareza e a precisão da prosa são uma causa perdida e começarei a me referir ao formato como "RAW". Isso tem a vantagem de não apenas estar errado, mas irritar as outras pessoas que a incomodam não é um espaço em branco após o pontuação nas abreviações. (E eu posso ter abusado um apóstrofo direita, em seguida, então agora eu estou jogando minhas mãos para cima em desespero com essa coisa de "língua escrita".)
23

A menos que alguém renomeie frivolamente um arquivo RAW, ele nunca terá um nome de arquivo com a extensão .jpg / .jpeg / .jfif. As extensões típicas para arquivos RAW serão .raw, .arw (Sony), .dng (telefones Android etc.), .nef (Nikon), .cr2 (Canon) ...

Um arquivo JPEG sempre terá o texto JFIF em algum lugar próximo ao início, se aberto em um editor de texto ou hexadecimal, entre os hieróglifos (aviso: se estiver abrindo um arquivo não textual em um editor de texto, NUNCA salve!). Não é impossível, mas extremamente improvável que um arquivo RAW o possua.

Se você não conseguir ver as extensões de nome de arquivo no Microsoft Windows, desmarque "Opções de Pasta" / "Ocultar extensões para tipos de arquivos conhecidos".

rackandboneman
fonte
5
O critério JFIF não funciona para o JPG das minhas três câmeras Canon (Ixus 150, 450D, 70D) ou do meu smartphone (Moto G). Sem JFIF lá, Linux filediz: IMG_1385.JPG: JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=11, description= , manufacturer=Canon, model=Canon IXUS 150, orientation=upper-left, xresolution=200, yresolution=208, resolutionunit=2, datetime=2018:04:17 14:52:46, GPS-Data], baseline, precision 8, 4608x3456, frames 3. Por outro lado, você encontrará o JFIF em um arquivo RAW se houver uma miniatura JPG incorporada.
Xenoid
5
@ xenoid: filenão é um editor de texto / hexadecimal. Tente xxd(mas você provavelmente não deseja despejar o arquivo inteiro, por isso recomendo limitá-lo (por exemplo xxd -l 1024 <file>)).
Cornstalks
"arquivo" estará disponível apenas em uma caixa unix ou cygwin normalmente, ou em um mac, não em uma caixa padrão do windows?
rackandboneman
1
Eu tentei grep -i JFIF *.JPGem diretórios inteiros. Os únicos hits estão nos arquivos que editei (portanto, o editor de imagens usa o formato JFIF). Eu suspeito que isso ocorre porque as câmeras usam o formato Exif e não o formato JFIF mais antigo .
Xenoid
7
@xenoid está certo, as imagens Exif têm a string "Exif" em vez de "JFIF" no início do primeiro bloco. Algumas câmeras ou programas podem criar arquivos de imagem JFIF / Exif híbridos que contêm os dois pedaços, mas eles realmente não estão em conformidade com o padrão Exif.
Ilmari Karonen
9

Maneiras triviais de reconhecer se um arquivo é RAW ou JPEG:

  1. Arquivo terminando: JPEGs terminar com .jpgou .jpeg, RAWs terminar com diferentes cordas (por exemplo .cr2, .nef, .arw, ...)

  2. Cabeçalhos de arquivo: Geralmente, os formatos colocam alguma assinatura que informa aos programas.

  3. Tamanho: Dado o mesmo tamanho e motivo, até 100 JPEGs de qualidade serão significativamente menores. (por exemplo, 20 MiB vs 5 MiB)

  4. Pergunte a um programa que sabe. A maioria dos programas (se não todos) usa o cabeçalho do arquivo ou outras análises de arquivo para determinar o formato de um arquivo. O IrfanView até informa quando você tem um JPEG com uma finalização errada (por exemplo ThisIsNotAPNG.png)

  5. Embora você possa salvar as alterações nos dados da imagem em um JPEG recodificando-o, você não pode, por exemplo, desenhar uma linha de lápis em um RAW e salvá-lo como um RAW - ele precisará ser um PSD, TIF, JPEG, ...

Existem mais métodos, mas a maioria envolve alguma experiência nesse tipo de coisa (por exemplo, um editor HEX). Se você deseja que a resposta seja de baixo nível, sugiro que seja transferida para superusuário .

Nota: Como tornaria essa resposta muito longa, não considerei arquivos de contêiner. A maioria dos arquivos RAW são contêineres - eles incluem não apenas o próprio RAW, mas também uma miniatura JPEG. Na minha resposta, estou falando apenas do arquivo de imagem no respectivo contêiner - por exemplo, os JPEGs nos contêineres RAW ainda são JPEGs e, até onde eu sei, os JPEGs não são arquivos contêineres e, portanto, não podem conter 'imagens' RAW .

flolilo
fonte
1
De uma maneira ... talvez mais relevante para o OP seja que, embora um RAW possa ser reprocessado em JPG [ou PNG etc.], você não pode fazer isso da outra maneira, não pode reprocessar um jpg de volta ao estado bruto.
Tetsujin
1
@Tetsujin Isso é verdade, mas faz uma terrível confusão de formatos de identificação :-)
flolilo
3
Estou pensando que há um problema de compreensão na raiz - "Depois de ter um arquivo de imagem de fotografia JPEG, como posso descobrir se é um arquivo RAW ou não?" ... nesse ponto você não tem um RAW, você tem um JPG. Um RAW pode conter um JPG, mas um JPG não pode conter ou ser transmutado em um RAW.
Tetsujin
Entendo a relação entre JPG e RAW. No entanto, pensei que provavelmente arquivos RAW poderiam estar sendo salvos na extensão .jpg. Pode ser esse o caso? Na verdade, eu estava experimentando um dispositivo em que ele parece estar apoiando imagens RAW, mas não vejo nenhuma opção disso, o que me levou a acreditar que, provavelmente, embora a imagem esteja sendo capturada no arquivo .jpg, ela pode ser realmente RAW por padrão internamente. Eu estava tentando investigar se minha crença era verdadeira ou não.
Temp O'rary
1
@Tetsujin, uma vez que outras respostas (melhores) apareceram, optei por adicioná-lo apenas como uma quinta maneira de reconhecer JPEG vs. RAW - comecei com uma explicação sobre RAW vs. JPEG, mas ficou fora de controle :-D
flolilo
2

O formato RAW, como geralmente chamado, é um grupo de tipos de arquivos com sufixos diferentes. Existem *.rawarquivos e arquivos proprietários, como *.cr2para a Canon, por exemplo, e muitos outros. Eu sou um Canoneer, então o seguinte é baseado na minha experiência com a minha Canon.

Quase todos os fabricantes têm seu próprio formato de arquivo RAW. Também tenha cuidado para que alguns, com certeza, a Canon atualizem seu formato RAW, de modo que a alegação de que "Todas as ferramentas de imagem da [Canon] podem abrir todas as imagens RAW [da Canon]" seja falsa. Para visualizar um arquivo RAW, é necessário um programa que possa processar o formato de arquivo específico em uma versão específica. Até o poderoso Photoshop tem problemas para abrir todos os arquivos RAW.

O arquivo RAW é um despejo dos dados coletados do sensor, além dos dados que contêm as configurações da câmera. É uma aquisição completa e sem perdas de dados da câmera para a memória. O formato RAW não é um formato de imagem.

As câmeras possuem processadores de imagem embutidos (no caso da Canon, é chamado Digic X ) que interpretam o arquivo RAW para JPEG e são exibidos na tela e / ou armazenados na memória.

Quando alguém usa uma câmera digital, o fluxo de trabalho interno é:

  1. Abra o obturador (mecânico: deslize a primeira cortina, digital: comece a salvar o fluxo de dados do chip)
  2. Adquira a cena
  3. Feche o obturador (mecânico: deslize a segunda cortina sobre o chip, digital: pare de salvar o fluxo de dados)
  4. Despejar os dados adquiridos no buffer
  5. Processe a imagem para jpeg usando opções predefinidas
  6. Mostrar visualização na tela.
  7. Salve a imagem
  8. Limpe a memória buffer.

Se o RAWmodo for selecionado, o processador salvará os dados na imagem como estão no formato específico do corpo. Se o RAW+JPEGmodo estiver selecionado, o processador salvará os dados como estão em image.cr2 (para Canons) e a imagem processada em image.jpeg . Se o JPEGmodo for selecionado, apenas a imagem processada será salva e os dados brutos serão perdidos para sempre.

É por isso que as imagens RAW são enormes quando comparadas aos formatos de imagem reais. Se você possui uma câmera de 12MPx com profundidade de 16 bits, o arquivo RAW contém 12.000.000 * 16 bits de informações de imagem, além de uma quantidade insignificante de dados mantendo as configurações.

JPEG, por outro lado, é um formato de arquivo dedicado a armazenar imagens em arquivos com tamanho razoável. Ele se baseia na compressão com perdas e se beneficia do fato de que 50 tons de preto são pretos no olho humano, então por que se preocupar? Funciona de maneira semelhante ao .mp3formato de áudio - ignora as nuances que o detector pode distinguir, mas os sentidos humanos não. O nível de ignorância é regulado pela qualidade da compressão.

Como identificar arquivos RAW?

  • Eles são enormes
  • Poucos visualizadores podem processá-los
  • A extensão do arquivo não é jpgoujpeg
Crowley
fonte
1

Os arquivos de imagem não processados ​​contêm dados suficientes para criar um número quase infinito de interpretações desses dados que caberão em um arquivo jpeg de 8 bits.¹ Sempre que você abre um arquivo não processado e o observa na tela, não está vendo "THE raw Arquivo." Você está visualizando uma das inúmeras interpretações possíveis dos dados no arquivo bruto. Os dados brutos em si contêm uma única medida de valor de brilho (monocromático) por cada poço de pixel. Com os sensores de câmera mascarados da Bayer (a grande maioria das câmeras digitais coloridas usa filtros Bayer), cada poço de pixel possui um filtro de cor na frente que é vermelho, verde ou azul. Para uma discussão mais completa de como obtemos informações de cores dos valores de brilho únicos medidos em cada pixel, consulteOs arquivos RAW armazenam 3 cores por pixel, ou apenas uma?

A aparência da imagem que você vê no monitor ao abrir um arquivo bruto é determinada pela forma como o aplicativo usado para abrir o arquivo escolheu interpretar os dados brutos no arquivo para produzir uma imagem visível. Cada aplicativo possui seu próprio conjunto de parâmetros padrão que determinam como os dados brutos são processados. Um dos parâmetros mais significativos é como o balanço de branco usado para converter os dados brutos é selecionado. A maioria dos aplicativos possui muitos conjuntos diferentes de parâmetros que podem ser selecionados pelo usuário, que fica livre para alterar configurações individuais no conjunto de instruções usadas para interpretar inicialmente os dados no arquivo bruto.

Se estiver a visualizar uma imagem em uma tela, você não olhar para um arquivo bruto. O que você está vendo é uma possível interpretação dos dados brutos coletados por um sensor de câmera. Essa interpretação pode ser uma de várias coisas:

  • Um JPEG produzido pela câmera usando os dados brutos do sensor e as configurações da câmera atuais no momento em que a imagem foi capturada.
  • Uma imagem de visualização JPEG anexada a um arquivo de imagem bruto. A visualização jpeg também é produzida pelo processador interno da câmera, usando as configurações atuais da câmera no momento em que a imagem foi capturada. Está anexado ao arquivo de imagem não processada. Essa visualização é normalmente o que se vê quando se olha para uma imagem no LCD na parte traseira da câmera quando as imagens são gravadas como arquivos "brutos". Essa visualização também é o que muitos aplicativos de foto mostrarão quando você estiver vendo miniaturas de arquivos de imagem brutos no seu computador.
  • Uma nova interpretação dos dados brutos da imagem por um aplicativo de processamento bruto, como o Lightroom. Dependendo das configurações do programa, quando você abre um arquivo de imagem bruto pela primeira vez, pode ver a imagem de visualização em jpeg ou uma nova conversão dos dados brutos com base nas configurações atuais do aplicativo com o qual você abriu o arquivo de imagem. Se você estiver vendo uma nova interpretação dos dados brutos da imagem, ainda está em uma forma que teve o mesmo tipo de processamento aplicado a ela que uma imagem jpeg produzida com as mesmas configurações.

O ponto a ser lembrado é que não existe uma interpretação única de um arquivo de imagem não processado que seja "A imagem não processada". Os dados brutos devem ser processados ​​para serem vistos como qualquer imagem significativa. As configurações das várias etapas de processamento determinarão a aparência do resultado. Não existe uma maneira inerentemente "correta" de processar os dados brutos. Coisas como temperatura de cor e balanço de branco, contraste, ponto branco, ponto preto etc. devem ser aplicadas aos dados brutos coletados pelo sensor antes que pareçam o que chamamos de "fotografia".

Para discussões mais detalhadas sobre o que os dados em um arquivo de imagem bruto são e não são, consulte estas outras perguntas aqui em Fotografia no Stack Exchange:

Os arquivos RAW armazenam 3 cores por pixel, ou apenas uma?
Por que o software pode corrigir o balanço de brancos com mais precisão para arquivos RAW do que com JPEGs?
RAW em ACR vs JPG em ACR
Ao fotografar em RAW, é necessário pós-processá-lo para que a imagem fique boa?
Por que imagens RAW parecem piores que JPEGs em programas de edição?
Por que minha visualização do Lightroom / Photoshop muda após o carregamento?
Por que o Lightroom está alterando todas as configurações dos meus RAWs importados?

Ure Claro, você pode tirar uma foto que contenha uma única cor pura em todo o campo de visão. mas a maioria das fotos contém uma grande variação de tons, matizes e níveis de brilho.

Michael C
fonte