¿Cómo reparar un archivo jpeg dañado en Windows?

¿Cómo reparar un archivo jpeg dañado en Windows?

Recientemente borré estúpidamente algunas fotos que no debería haber hecho. usé unprogramaPara recuperar las fotos, algunas de ellas regresaron en un estado corrupto como se muestra a continuación con áreas grises.

Alguna idea de como arreglar esto? La información está claramente ahí de alguna forma, ya que cuando veo las fotos con Windows Photo Viewer, la imagen completa se muestra brevemente durante una fracción de segundo mientras Windows genera la vista previa.

imagen corrupta

Respuesta1

Algunas imágenes grandes contienen una miniatura más pequeña que es una versión de baja resolución de la imagen completa.

Algunos programas utilizan esta imagen dentro de la imagen más pequeña, como el Explorador de Windows, cuando muestran la imagen en la Vista de iconos. De lo contrario, para mostrar el icono de la imagen sería necesario leer la imagen completa y convertirla al tamaño de un icono, lo que ralentizaría inaceptablemente la visualización de la carpeta.

Supongo que Windows Photo Viewer muestra esta miniatura de una manera fácil de usar, mientras lee la imagen más grande. Sin embargo, esa imagen más grande está dañada y solo la miniatura ha sobrevivido intacta.

Recuva es un buen programa de recuperación de fotografías, así que supongo que el daño se debe a que sobrescribiste esa parte de la imagen. Nunca debes escribir datos en un volumen que desees recuperar.

Sin embargo, si ese volumen todavía está razonablemente intacto, también puedes probar otro muy buen producto de recuperación de archivos:
Recuperación de archivos de PC INSPECTOR
pero recuerda copiar las imágenes recuperadas a algún otro volumen, de lo contrario al recuperar una imagen puedes estar destruyendo otra.

Para reparar imágenes JPEG dañadas, consulte este hilo:JPEG corruptos, miniatura extraída....
Recomienda bastantes herramientas de este tipo, así como herramientas de extracción de miniaturas.
ExifHerramientaSe ve especialmente bien.

Respuesta2

Divulgación:Hace unos años me preguntaron si era posible reparar dicho archivo y decidí investigar. Como resultado de eso, pude descubrir cómo reparar el archivo y esto finalmente me llevó a escribir algunas herramientas (no gratuitas) que mencionaré en esta publicación. Siempre que sea posible señalaré alternativas gratuitas.

Descargo de responsabilidad:Con los archivos JPEG, hay muchas matemáticas involucradas. No soy un experto capacitado ni educado en el tema y mucho de lo que explico lo descubrí experimentando y encontrando "lo que funciona". Por lo tanto, no espere que toda esta información sea científicamente correcta.

Eso depende. Si vemos una imagen así pueden estar mal 3 cosas:

  1. Solo se recupera o está presente una parte del archivo (si no se recupera mediante alguna herramienta). Para determinar si este es el caso, compare el tamaño del archivo con archivos similares, tomados con la misma cámara y configuración.
  2. Si el tamaño del archivo es bueno, es posible que parte del archivo no contenga datos correctos. Esto es más fácil de comprobar con un editor hexadecimal (HxD, por ejemplo, gratuito). A menudo encontrará que una gran parte del archivo está llena de ceros o algún patrón de bytes repetido (FF FF FF FF, etc.).
  3. Si se verifican los problemas anteriores, el tamaño del archivo es bueno y los datos de alta entropía en todo el archivo, incluso una corrupción menor en los datos de imagen codificados y comprimidos puede alterar un decodificador (que está integrado en su visor de imágenes).

Dado que el escenario 3 es el único que potencialmente puede repararse, profundicemos en él. Hay combinaciones de bytes específicas que tienen significado para los decodificadores JPEG: los decodificadores JPEG interpretan FF xx como el llamado marcador JPEG (ver.). Estos marcadores se utilizan para dividir un JPEG en "secciones", todas con diferentes propósitos. Si el decodificador encuentra un par de bytes FF xx dentro de los datos de la imagen real que no es válido (ni FF Dn (donde n = 0 a 7) ni FF 00), la mayoría de los decodificadores simplemente dejarán de decodificar. Esto puede ser el resultado de un único "cambio de bit" donde FE se convierte en FF. Dado que parte de los datos de la imagen no están decodificados, esto se manifestará como un bloque gris. Eliminar el par de bytes infractor es sólo una parte de la solución, ya que no conocemos los valores originales, pero he podido reparar imágenes utilizando nada más que un editor hexadecimal y un visor de imágenes. UsandoJpegSnoopes fácil determinar la dirección de byte de dichas combinaciones de bytes ofensivas. Sin embargo, debido a la forma en que se codifica/decodifica un JPEG, este problema afecta a todos los datos de imagen que siguen (en pocas palabras, los datos de luminancia y crominancia se almacenan como delta, por ejemplo, diferencia relativa al bloque anterior). Para reparar el daño es posible que desee utilizar un editor especial (eneste vídeo de youtubeUtilizo mi propio editor y un editor gratuito para ver si se puede reparar un JPEG parcialmente gris y cómo hacerlo). Muy pocas veces puede tener la suerte de que simplemente sobrescribir los bytes ofensivos con ceros dé como resultado un resultado satisfactorio:

reparar JPEG usando nada más que un editor hexadecimal

Para el escenario 2 no hay solución. El escenario/problema 1 puede deberse a una recuperación incorrecta:

  1. Herramienta de recuperación consciente del sistema de archivos: en pocas palabras, estas herramientas se basan en la búsqueda de datos del sistema de archivos para localizar datos perdidos. Si asumimos algún sistema de archivos basado en FAT, ya que son dominantes en las tarjetas de memoria utilizadas en las cámaras digitales, la herramienta localiza una entrada de directorio desde la cual puede decodificar el nombre del archivo, el tamaño del archivo, los atributos del archivo y el primer grupo. Luego examina la tabla de asignación de archivos para obtener el resto de los clústeres y finalmente vuelve a ensamblar el archivo. En caso de que la cadena FAT esté corrupta o incompleta por cualquier motivo, sólo se podrá volver a ensamblar una parte del archivo. Este tipo de corrupción no es infrecuente en los sistemas de archivos basados ​​en FAT (FAT, FAT32 y, hasta cierto punto, exFAT). La recuperación a menudo todavía es posible utilizando el llamado tallador, pero estos traen consigo su propio conjunto de problemas.

  2. La otra categoría de herramientas de recuperación de archivos se llama "talladores". En lugar de depender del sistema de archivos, escanean la unidad en busca de "bytes mágicos" que puedan indicar la presencia de un determinado tipo de archivo. Si asumimos JPEG, podríamos escanear la unidad en busca de FF D8 FF en los límites del grupo o sector, ya que los JPEG siempre comienzan con esa combinación de bytes específica. Ahora sabemos dónde comienza el archivo.

Problemas con este método: muchas herramientas son bastante simplistas y asumirán que llegaron al final del JPEG si encuentran FF D9, que es el 'marcador de fin de imagen' JPEG o si encuentran algunos bytes mágicos que pueden indicar el inicio del siguiente archivo. Muchos de estos llamados escáneres buscan múltiples tipos de archivos y, por puro accidente, pueden encontrar una combinación de bytes que coincide con algún otro tipo de archivo. Por ejemplo, 49 44 33 son datos JPEG perfectamente válidos, pero también son los bytes mágicos de un archivo MP3. Un enfoque simplista ahora es llegar a la conclusión de que llegamos al final del archivo y comenzar a recuperar el archivo MP3. El segundo problema es la fragmentación del archivo, donde antes de llegar al final del archivo se encuentra una combinación de bytes válida para el siguiente JPEG. Muchos talladores cerrarán el JPEG que estaban recuperando y comenzarán con el siguiente. No hay soluciones fáciles para esto, aunque existen herramientas que le permiten intentar volver a ensamblar dichos archivos manualmente o incluso intentar resolverlo ellos mismos.

reensamblaje manual de JPEG fragmentado

información relacionada