Análisis de formato tiff

Estructura de archivo

Las palabras clave en el archivo tiff son: encabezado de archivo, directorio de archivo, entrada de directorio.

Encabezado de archivo

El encabezado del archivo suele
ser 8 Byte 0-1B: 49 49 o 4D 4D, el primero significa byte pequeño primero, el segundo significa byte grande primero
2-3B: generalmente 42, es el bit de bandera
4-7B: el primer directorio de archivos Debe ser un múltiplo entero de 2

Directorio de archivos

0-1B: el número de elementos de directorio contenidos en el directorio de archivos
A partir de 2B: elementos de directorio, cada elemento de directorio representa 12B y el
último 4B: el desplazamiento del siguiente directorio de archivos, 0 significa que no hay siguiente

Entrada de directorio

0-1B: número de etiqueta
2-3B: tipo de datos del elemento del directorio
4-7B: número de datos
8-11B: desplazamiento del valor de la variable correspondiente al número de etiqueta al comienzo del archivo, si no más de 4 bytes, escriba Aqui

Análisis

Utilizando el software de dibujo que viene con Windows, hice una imagen en negro puro de 11 * 10 píxeles. Ábralo con un editor binario de la siguiente manera.
Inserte la descripción de la imagen aquí
00-01 es 49 49. El byte pequeño está en el frente, y 04-07 es 28 00 00 00 indica el primer El directorio del archivo es de 28 bytes, y los 28-29 bytes son 0F, lo que indica que hay 15 entradas de directorio, un total de 180 bytes, comenzando desde 2A y terminando en DE. Los
tipos de datos corresponden a lo siguiente

  1. 0001Byte
  2. 0002ASCII
  3. 0003integer
  4. 0004 de largo
  5. 0005 racional

Los significados de los números de etiqueta son los siguientes
: 0100: ancho de imagen; 0101: altura de imagen
0102: profundidad de color; 0103: si los datos de la imagen están comprimidos
0106: si la imagen se expresa en color inverso
0111: el desplazamiento de los datos de imagen desde el comienzo del archivo
0117: bytes de datos Número total, si no es par, se agregará
0. 011A: desplazamiento de resolución horizontal
011B: desplazamiento de resolución vertical

Analice la imagen
Elemento de directorio 1: etiqueta 00FE larga no sabe qué
2: etiqueta 0100, larga, 1, 00 00 00 0B, ancho
3: etiqueta 0101, larga, 1, 00 00 00 0A, altura
4 : Etiqueta 0102, entero, 3, E2 representa el desplazamiento, bytes E2-E8, obtenga 00 08 00 08 00 08, la longitud de la entrada del directorio es mayor que 2, expresada como color verdadero
5: 0103, entero, 1, 00 05, indica que la imagen está comprimida
6: 0106, entero, 1, 00 02, indica que no es el color inverso
7: 0111, largo, 1, 00 00 00 08, desplazamiento de datos de imagen
8: 0115, entero, 1 , 00 03, el número de muestras por píxel
9: 0116, largo, 1, 00 00 00 0A, igual a la altura
de la imagen 10: 0117, largo, 1, 00 00 00 20, los datos de la imagen son 20 bytes de largo
11: 011A , racional, 1, 00 E8, desplazamiento de resolución horizontal
12: 011B, racional, 1, 00 F0, desplazamiento de resolución vertical
13: 011c, entero, 1, 00 01, formato de almacenamiento
14: 0128 , Entero, 1, 0002, unidad de medida, 0002 significa que la unidad es
15: 013D por píxel por pie , entero, 1, 00 02, la entrada del directorio representa la operación matemática antes de codificar
donde la información de resolución ocupa 8 bytes, antes 4 4 Representa el numerador, los cuatro últimos representan el denominador.

5 artículos originales publicados · Me gusta0 · Visitas 203

Supongo que te gusta

Origin blog.csdn.net/m0_46340275/article/details/105177120
Recomendado
Clasificación