670 likes | 884 Views
Obtención de imágenes. Mundo real. Lente. Sensor (CCD). Concepto de mapa de bits. Pixel. Digitalización: muestreo. Tamaño de la imagen, número de pixels, resolución*. Digitalización: cuantificación. Número de bits por pixel, profundidad de color. 2 bits. 8 bits. Escala de grises.
E N D
Obtención de imágenes Mundo real Lente Sensor (CCD)
Concepto de mapa de bits Pixel
Digitalización: muestreo • Tamaño de la imagen, número de pixels, resolución*
Digitalización: cuantificación • Número de bits por pixel, profundidad de color 2 bits 8 bits Escala de grises Monocromo 4 bits 1 bit
Digitalización: tamaño total • Memoria ocupada por una imagen (bytes): • Horizontal × Vertical × Profundidaddecolor / 8 • 1 byte = 8 bits • 1 Kbyte = 1024 bytes • 1 Mbyte = 1024 Kbytes • 1 Gbyte = 1024 Mbytes • Habitualmente 8 bits por pixel (no vemos más)
Color: síntesis aditiva • Luz: radiación electromagnética 400-780 nm. Amplitud (intensidad) Frecuencia = 1 / Longitud Longitud
Color: síntesis aditiva • Obtención del espectro a partir de la luz blanca
Color: síntesis aditiva • Obtención de colores
Color: síntesis aditiva • Síntesis aditiva (luces)
Color: síntesis aditiva • Composición de imágenes en color
Color: síntesis aditiva • Composición de imágenes en color
Color: síntesis aditiva • Composición de imágenes en color
Representación de mapas de bits en color • Color real: cada pixel tiene 24 bits con información RGB R G B R G B 0 0 0 221 221 221 0 0 255 128 128 128 255 0 0 204 236 255 255 0 255 102 153 255 0 255 0 102 153 192 0 255 255 0 0 128 255 255 0 204 153 255 255 255 255 128 128 0
Representación de mapas de bits en color • Color real: cada pixel tiene 24 bits con información RGB • Memoria ocupada por una imagen (bytes): • Horizontal × Vertical × Profundidaddecolor / 8 × 3 = • = Horizontal × Vertical × 3
Representación de mapas de bits en color • Color indexado: cada pixel es una entrada de una paleta • Cada color de la paleta tiene información RGB 0 8 1 9 2 10 3 11 4 12 Paleta: 5 13 6 14 7 15
Representación de mapas de bits en color Color real Indexado 4 bits Paleta no adaptada Indexado 4 bits tramado Paleta no adaptada Indexado 256 bits tramado Paleta estándar Indexado 4 bits Paleta adaptada Indexado 256 bits Paleta adaptada
Representación de mapas de bits en color • Color indexado: cada pixel es una entrada de una paleta • Cada color de la paleta tiene información RGB (24 bits) • Una paleta de P colores necesita N = log2P bits para indexar cada color • Memoria ocupada por una imagen (bytes): • Horizontal × Vertical × N / 8 + 3 × P • Típicamente 256 colores (1 byte por pixel) • Horizontal × Vertical + 768
Representación de mapas de bits en color 320×240×3 230.400 bytes 320×240×4/8 + 3×16 38.448 bytes 320×240×4/8 + 3×16 38.448 bytes 320×240×8/8 + 3×256 77.568 bytes 320×240×4/8 + 3×16 38.448 bytes 320×240×8/8 + 3×256 77.568 bytes
Representación de mapas de bits en color Color real Color indexado Ahorro 320 × 240 225 Kb. 75,75 Kb. 149,25 Kb. 1.024 × 768 2.304 Kb. 768,75 Kb. 1.535,25 Kb. 2.048 × 1.536 9.216 Kb. 3.072,75 Kb. 6.143,25 Kb. 4.096 × 3.072 36.864 Kb. 12.288,75 Kb. 24.575,25 Kb. • Ahorro de memoria del ~66% usando • 256 colores indexados frente a color real • ¿Ventajas del color real? • Comodidad de la representación para algoritmos • ¿Cuántos colores hay en una imagen grande?
Ampliación/reducción de la profundidad de color • Operaciones a considerar: • Aplicación de profundidad de color en color real • Reducción de profundidad de color en color real • Paso de color indexado a color real • Paso de color real a color indexado • Conversión a escala de grises
Aplicación de profundidad de color (color real) R G B R G B 0-15 0-15 0-15 0-255 0-255 0-255 0000 0 00000000 0 0001 1 00010001 17 0010 2 00100010 34 0011 3 00110011 51 0110 6 01100110 102 1010 10 10101010 170 1100 12 11001100 204 1101 13 11011101 221 1110 14 11101110 240 1111 15 11111111 255
Reducción de profundidad de color (color real) R G B R G B 0-255 0-255 0-255 0-7 0-7 0-7 00000000 0 000 0 00000001 1 000 0 00011111 31 000 0 00100000 32 001 1 01101011 107 011 3 10110000 176 101 5 11011111 223 110 6 11100000 224 111 7 11101100 236 111 7 11111111 255 111 7
Paso de color indexado a color real I 0 1 R G B 2 0 0 0 3 0 0 255 4 255 0 0 5 255 0 255 6 7 0 255 0 8 0 255 255 9 255 255 0 10 255 255 255 11 221 221 221 12 13 128 128 128 14 204 236 255 15 102 153 255 102 153 192 0 0 128 204 153 255 128 128 0 Índice R G B 0-255 0-255 0-255 0-255
Paso de color real a color indexado R G B Índice ? 0-255 0-255 0-255 0-255
Paso de color real a color indexado • 1. Selección de la paleta
Paso de color real a color indexado • 2. Reducción de errores • A) Tramados de puntos y patrones (patterning y dithering) para lograr colores intermedios
Paso de color real a color indexado 3/16 5/16 7/16 1/16 • B) Difusión de errores Error: Más oscuro Buscar el más parecido Compensar oscureciendo los de alrededor Correcto Error: Más claro Compensar aclarando los de alrededor
Paso de color real a color indexado Sin corrección Tramado (patterning) Difusión de errores
Paso de color real a color indexado Tramado (patterning) Difusión de errores
Conversión a escala de grises R G B 150 200 50 0,33×150 + 0,33×200 + 0,33×50 = 133,33 133
Conversión a escala de grises 21% 71% 8% R G B 150 200 50 0,21×150 + 0,71×200 + 0,08×50 = 177,5 177
Ampliación y reducción de tamaño • Reducción de tamaño: • Redimensionar: Eliminar algunos pixels • Remuestrear: Calcular nuevos pixels a partir de los originales Redimensionar Remuestrear
Ampliación y reducción de tamaño • Ampliación de tamaño: • Redimensionar: Duplicar algunos pixels • Remuestrear: Calcular nuevos pixels a partir de los originales Redimensionar Remuestrear
Operaciones de histograma • Funciones de transferencia: aplicadas a cada pixel de forma independiente de los pixels que le rodean Salida 255 y y=f(x) x Entrada 0 0 255
Operaciones de histograma • Función brillo
Operaciones de histograma • Función contraste
Operaciones de histograma • Otras funciones Ecualización Negativo Umbralización Filtros
Operaciones de histograma • Imágenes en color: cada banda por separado
Filtros de convolución A B C a b c D E F d e f G H I g h i • Se basan en la operación de convolución: cada pixel opera con los de alrededor según una matriz Imagen Matriz de convolución 3×3 E’ = A·a + B·c + C·c + D·d + E·e + F·f + G·g + H·h + I·i
Filtros de convolución 32 99 111 1/9 1/9 1/9 35 255 121 1/9 1/9 1/9 50 89 99 1/9 1/9 1/9 • Cada matriz realiza una operación Imagen Matriz de convolución 3×3 E’ = 32·1/9 + 99·1/9 + 111·1/9 + 35·1/9 + 255·1/9 + 121·1/9 + 50·1/9 + 89·1/9 + 99·1/9 = 99
Filtros de convolución 1/22 1/9 3/22 1/9 3/22 1/9 3/22 1/9 6/22 1/9 1/9 3/22 1/9 1/22 1/9 3/22 1/22 1/9 Paso bajo, reducción de ruido
Filtros de convolución -3 -1 0 1 3 -1 -3 1 0 1 1 3 -1 -3 1 0 3 -1 Paso alto, realce
Filtros de convolución -9 -9 9 9 -9 -9 9 9 0 1 9 9 -9 -9 9 9 -9 -9 Paso alto, realce
Otros modelos de color: HSB • HSB: Tono (Hue), Saturación, Brillo (Value, HSV) Tono: 0º - 360º Saturación: 0% - 100% Brillo: 0% - 100% Saturación Tono Tono Saturación Brillo Tono
Otros modelos de color: CMY • CMY (Cian, Magenta, Amarillo, CMA): • Síntesis sustractiva
Otros modelos de color: CMY • Mezclamos la capacidad de absorber (sustraer) luz Con distintas proporciones logramos todos los colores Absorbe todo Absorbe verde y rojo Absorbe rojo Absorbe verde Absorbe rojo y azul Absorbe verde y azul Absorbe azul
Otros modelos de color: CMYK • En la práctica, con CMY no conseguimos negro: • CMYK (Cian, Magenta, Amarillo, Negro, CMAN)
Almacenamiento de imágenes en disco “16 ceros y 20 unos” Compresión RLE (Run Length Encoding) • Concepto de compresión de la información Repetición de secuencias 000000000000000011111111111111111111111111111111