Problema de imagen JPEG [cerrado]

Entonces mi problema es con uno de los Jpeg con los que estoy trabajando. Lo que pasa con Jpegs es que si cambias incluso la más mínima parte de su archivo HEX, toda la imagen se estropea. Puse a cero unas dos líneas del CUERPO de este JPEG y explotó al darme esta loca capa verde en la mitad de la imagen. Otros formatos de imagen realmente no harán esto. Tiene algo que ver con el almacenamiento de referencias JPEGS a colores similares en lugar de almacenar datos separados para cada píxel. Mi pregunta es, ¿hay alguna forma de disminuir el efecto que se produce como resultado de perder incluso una sola línea de datos del archivo HEX? Idealmente, estaría buscando un programa que pueda hacerlo algo visible.

Gracias, danielingrese la descripción de la imagen aquí

esto no parece ser una pregunta relacionada con la fotografía y probablemente sería más adecuado para un sitio de gráficos.
Votar para cerrar como poco claro: no hay indicios de cuál es el resultado final deseado de este proceso, además de un montón de suposiciones sobre cómo funcionan los archivos JPEG ("referencias a colores similares") que simplemente son incorrectas (es una transformación de coseno discreta ) . Edite la pregunta para explicar por qué está realizando estos cambios binarios arbitrarios en el archivo y cómo esto es relevante para la fotografía.
Esta pregunta parece estar fuera de tema porque se trata de manipulación de archivos de imagen, no de fotografía.
¿No se hizo esta misma imagen y la misma pregunta hace unos meses?

Respuestas (3)

Si su intención es modificar el archivo JPEG cambiando algunos bytes dentro de él, simplemente haga lo siguiente:

  1. convertir JPEG a BMP sin comprimir
  2. cambiar los bytes
  3. convertir BMP a JPEG

Ha destrozado deliberadamente un archivo comprimido, no hay forma de recuperar los datos, excepto que vuelva a colocar lo que ha roto.

Las herramientas de recuperación de imágenes están diseñadas para funcionar tomando bloques de datos y devolviéndolos al orden correcto; como cuando el sistema de archivos está dañado en una tarjeta SD o disco duro. No están diseñados para corregir el tipo de daño que ha ocurrido (si es que es posible).

Una buena analogía para la compresión es un experimento mental: tome las instrucciones de manejo para un recorrido misterioso de Google Maps. Elimine toda la información de los waypoints, los nombres de las carreteras, etc., ya que no los necesitamos para conducir el automóvil. Las instrucciones restantes se pueden formar en un sistema simplificado (ir n Km, girar a la izquierda/derecha , tomar la salida # n , repetir la última instrucción n veces, por ejemplo). Esas son sus direcciones de manejo 'comprimidas'. Ahora elimine un montón de direcciones en el medio antes de presionar imprimir: eso es lo que ha hecho y no hay forma de solucionarlo.

JPEG es un estándar de formato de archivo para almacenar imágenes. No es un archivo HEX. No hay codificación HEX en un archivo JPEG. Por lo tanto, su pregunta no tiene sentido y no puede ser respondida.

De la forma en que se realiza la compresión en el esquema de codificación JPEG, no existe necesariamente una correspondencia 1:1 entre unos pocos bits adyacentes en el archivo y una ubicación particular en la imagen. No funciona de esa manera. Un pequeño error en un archivo JPEG puede tener un gran impacto en la imagen. Así es como funciona.

Considere su archivo corrupto y deséchelo. Vuelva a la fuente, a sus copias de seguridad o a donde sea que haya venido originalmente.

Hex es una forma común de mostrar valores binarios a nivel de byte dentro de un archivo, todos los archivos se pueden mostrar y editar usando un 'editor hexadecimal'.
@James: Sí, todos los archivos pueden mostrarse como HEX e incluso manipularse de esa manera con una interfaz de usuario adecuada. Pero eso no lo convierte en un "archivo HEX" como preguntaba el OP. Hay verdaderos archivos HEX, como el archivo HEX de formato Intel común para almacenar los datos para EEPROM y similares. JPEG no utiliza tal codificación.