Como consertar arquivo JPEG danificado no Windows?

Como consertar arquivo JPEG danificado no Windows?

Recentemente, apaguei estupidamente algumas fotos que não deveria. Eu usei umprogramapara recuperar as fotos, algumas delas voltaram corrompidas como abaixo com áreas cinzas.

Alguma ideia de como consertar isso? A informação está claramente presente de alguma forma, pois quando vejo as fotos com o Windows Photo Viewer, a imagem completa é mostrada brevemente por uma fração de segundo enquanto o Windows gera a visualização.

imagem corrompida

Responder1

Algumas imagens grandes contêm uma miniatura menor, que é uma versão em baixa resolução da imagem inteira.

Esta imagem menor dentro da imagem é usada por alguns programas, como o Windows Explorer, ao exibir a imagem no Icon View. Caso contrário, para exibir o ícone da imagem seria necessário ler a imagem inteira e convertê-la para o tamanho do ícone, o que tornaria a exibição da pasta inaceitavelmente mais lenta.

Suponho que o Windows Photo Viewer esteja exibindo essa miniatura de maneira amigável, enquanto lê a imagem maior. No entanto, essa imagem maior está danificada e apenas a miniatura sobreviveu intacta.

Recuva é um bom programa de recuperação de fotos, então acho que o dano é causado por você ter sobrescrito essa parte da imagem. Você nunca deve gravar dados em um volume que deseja recuperar.

Se, no entanto, esse volume ainda estiver razoavelmente intacto, você também pode tentar outro produto de recuperação de arquivos muito bom:
Recuperação de arquivos do PC INSPECTOR
mas lembre-se de copiar as imagens recuperadas para algum outro volume, caso contrário ao recuperar uma imagem você poderá estar destruindo outra.

Para reparar imagens JPEG danificadas, consulte este tópico:JPEGs corrompidos, miniatura extraída....
Ele recomenda algumas dessas ferramentas, bem como ferramentas de extração de miniaturas.
Ferramenta Exifparece especialmente bom.

Responder2

Divulgação:Há alguns anos me perguntaram se era possível reparar tal arquivo e decidi investigar. Como resultado disso, consegui descobrir como poderia reparar o arquivo e isso eventualmente me levou a escrever algumas ferramentas (não gratuitas) que mencionarei neste post. Sempre que possível apontarei alternativas gratuitas.

Isenção de responsabilidade:Com JPEGs, muita matemática está envolvida. Não sou um especialista treinado ou instruído no assunto e muito do que explico descobri ao mexer e descobrir “o que funciona”. Portanto, não espere que todas essas informações sejam cientificamente corretas.

Depende. Se virmos uma imagem como essa, três coisas podem estar erradas:

  1. Apenas parte do arquivo é recuperada ou está presente (se não for recuperada por alguma ferramenta). Para determinar se este é o caso, compare o tamanho do arquivo com arquivos semelhantes, tirados com a mesma câmera e configurações.
  2. Se o tamanho do arquivo for bom, parte do arquivo poderá não conter dados corretos. Isso é mais fácil de verificar com um editor hexadecimal (HxD, por exemplo, gratuito). Freqüentemente, você descobrirá que grande parte do arquivo está preenchida com zeros ou algum padrão de bytes repetido (FF FF FF FF etc.).
  3. Se os problemas anteriores forem verificados, o tamanho do arquivo é bom e os dados de alta entropia em todo o arquivo, mesmo uma pequena corrupção nos dados de imagem codificados e compactados pode perturbar um decodificador (integrado ao visualizador de imagens).

Como o cenário 3 é o único que pode ser potencialmente reparado, vamos nos aprofundar nele. Existem combinações de bytes específicas que têm significado para decodificadores JPEG: FF xx é interpretado pelos decodificadores JPEG como o chamado marcador JPEG (ver.). Esses marcadores são usados ​​para dividir um JPEG em 'seções', todas com finalidades diferentes. Se o decodificador encontrar um par de bytes FF xx dentro dos dados de imagem reais que não seja válido (não FF Dn (onde n = 0 a 7) e não FF 00), a maioria dos decodificadores simplesmente interromperá a decodificação. Isso pode ser o resultado de uma única 'mudança de bit' onde FE se torna FF. Como parte dos dados da imagem não é decodificada, isso se manifestará como um bloco cinza. Remover o par de bytes incorreto é apenas parte da solução, pois não sabemos os valores originais, mas consegui reparar imagens usando nada além de um editor hexadecimal e um visualizador de imagens. UsandoJPEGSnoopé fácil determinar o endereço de bytes dessas combinações de bytes ofensivas. No entanto, devido à forma como um JPEG é codificado/decodificado, esse problema afeta todos os dados de imagem a seguir (simplificando, os dados de luminância e crominância são armazenados como delta, por exemplo, diferença relativa ao bloco anterior). Para reparar o dano você pode usar um editor especial (emeste vídeo do YouTubeEu uso meu próprio editor gratuito para ver se e como um JPEG parcialmente cinza pode ser reparado.). Apenas muito poucas vezes você pode ter a sorte de simplesmente substituir bytes incorretos por zeros resultar em um resultado satisfatório:

reparar JPEG usando nada além do editor hexadecimal

Para o cenário 2 não há solução. O cenário/problema 1 pode ser causado por recuperação incorreta:

  1. Ferramenta de recuperação com reconhecimento do sistema de arquivos: Simplificando, essas ferramentas dependem da localização de partes dos dados do sistema de arquivos para localizar dados perdidos. Se assumirmos algum sistema de arquivos baseado em FAT, já que estes são dominantes em cartões de memória usados ​​em câmeras digitais, a ferramenta localiza uma entrada de diretório a partir da qual pode decodificar o nome do arquivo, tamanho do arquivo, atributos do arquivo e primeiro cluster. Em seguida, ele examina a tabela de alocação de arquivos para obter o restante dos clusters e, finalmente, remonta o arquivo. Caso a cadeia FAT esteja corrompida/incompleta por qualquer motivo, apenas parte do arquivo poderá ser remontada. Este tipo de corrupção não é incomum em sistemas de arquivos baseados em FAT (FAT, FAT32 e até certo ponto exFAT). A recuperação muitas vezes ainda é possível usando um chamado escultor, mas estes trazem seu próprio conjunto único de problemas.

  2. A outra categoria de ferramentas de recuperação de arquivos são os chamados 'escultores'. Em vez de confiar no sistema de arquivos, eles examinam a unidade em busca de “bytes mágicos” que possam indicar a presença de um determinado tipo de arquivo. Se assumirmos o JPEG, poderíamos verificar a unidade em busca de FF D8 FF nos limites do cluster ou do setor, pois os JPEGs sempre começam com essa combinação de bytes específica. Agora sabemos onde o arquivo começa.

Problemas com este método: Muitas ferramentas são bastante simplistas e assumirão que chegaram ao final do JPEG se encontrarem FF D9, que é o 'marcador de fim de imagem' do JPEG, ou se encontrarem alguns bytes mágicos que podem indicar o início do próximo arquivo. Muitos desses chamados scanners procuram vários tipos de arquivo e, por puro acidente, podem encontrar uma combinação de bytes que corresponda a algum outro tipo de arquivo. Por exemplo, 49 44 33 são dados JPEG perfeitamente válidos, mas também são os bytes mágicos de um arquivo MP3. A abordagem simplista agora é concluir que chegamos ao final do arquivo e começamos a recuperar o arquivo MP3. O segundo problema é a fragmentação do arquivo, onde antes que o final do arquivo seja atingido, uma combinação válida de bytes é encontrada para o próximo JPEG. Muitos escultores fecham o JPEG que estavam recuperando e começam com o próximo. Não há soluções fáceis para isso, embora existam ferramentas que permitem que você tente remontar manualmente esses arquivos ou até mesmo tente resolver isso sozinho.

remontagem manual de JPEG fragmentado

informação relacionada