tratamiento imagenes
TRANSCRIPT
![Page 1: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/1.jpg)
Procesamiento Digital de Imágenes
Clase Teórico Práctica Nº 1
Optativa Área Procesamiento de señalesPrimer cuatrimestre de 2011
Dr. Rubén WainschenkerMg. Ing. José María MassaMg. Ing. Paula Tristan
![Page 2: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/2.jpg)
Objetivos de la materia
• Extraer información de imágenes digitales.
• Utilizar herramientas informáticas para la extracción de información.
• Capturar, realzar, segmentar, medir, identificar y visualizar objetos de interés en las imágenes.
• Aplicaciones en diversas áreas: medicina, medioambiente, industria, seguridad, gestión.
![Page 3: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/3.jpg)
Programa
• Imágenes y procesamientos digitales. Introducción. • Representación de imágenes digitales. Cámara oscura. Imagen fotográfica. Imagen digital. RGB. CMY. CMYK. Muestreo y Cuantificación.• Obtención de imágenes digitales. Detectores, scanners, cámaras CCD, microdensitómetros, ojo humano. • Almacenamiento de imágenes digitales. Formatos de almacenamiento de imágenes digitales. Paleta. BMP, GIF, TIFF, JPEG, etc.• Análisis de imágenes digitales. Definición de contraste, brillo e intensidad luminosa. Histograma.• Procesamientos elementales: Realce, Funciones de punto. Realce de tonos claros, oscuros y medios. Expansión de grises. Ecualización del histograma. Conectividad. Distancia.• Reducción de ruido en imágenes digitales. Suavizado. Filtros mediana, promedio, combinación promedio-mediana. Convolución. Método de trabajo con cualquier filtro. (Normalización con expansión lineal, etc.)• Detección de bordes en imágenes digitales. Estudio de funciones, derivada continua, derivada segunda, derivada digital, asociación de derivadas a búsquedas de bordes. Filtro de Roberts. Filtros de prewitt y de Kirsch. Detección de bordes con dirección preferencial. Filtro de Sobel. El Laplaciano y su filtro.• Operaciones geométricas en imágenes digitales. Tratamiento de firmas y otros objetos claramente definidos: Centro geométrico, centro de gravedad, Traslaciones, rotaciones, busqueda del angulo de rotación, teorema del coseno, zoom.• Segmentación. Crecimiento local por cota relativa. Operaciones morfológicas. Erosión y dilatación. Bordes por diferencia entre original y erosión. Apertura y Cierre. Filtros Top Hat y Well. Almacenamiento de bordes por método de código de la cadena. Almacenamiento de regiones por método de código de segmentos en línea.• Transformaciones elásticas. Método de cálculo y aplicaciones de las transformaciones elásticas. Correlación entre objetos. Textura.• Medición de parámetros de objetos en imágenes digitales. Calculo de perímetros y otras longitudes. Obtención del área de una superficie limitada por una curva cerrada. Teorema de Green.• Identificación de objetos: clasificadores entrenados y no-entrenados. Clasificadores probabilísticos. Teorema de Bayes. otros algoritmos de clustering. Introducción a algoritmos avanzados de clasificación. K-Means y clasificación espectral.
![Page 4: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/4.jpg)
Etapas del procesamiento de imágenes
Entrenamiento
Captura
Pre-procesamiento
Segmentación
Extracción de características
Identificación deobjetos
Clasificador
Diseño de las propiedades de la captura. Tipo de cámara, distancia al objeto, mega píxeles, etc.
Reducir el entorno que no es de interés para el problema. Fondo, ruido, etc.
Reconocer y extraer cada uno de los objetos presentes en la imagen.
Seleccionar y extraer “características” apropiadas para la identificación de los objetos deseados.
Utilizar un modelo de toma de decisión para decidir a que categoría pertenece cada objeto.
![Page 5: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/5.jpg)
Problema: Identificar frutas
Captura
Pre-procesamiento
Segmentación
Extracción de características
Identificación deobjetos
Decidir como van a ser capturadas las imágenes de las frutas. Ejemplo: Distancia de 60 cm., resoluciòn de 800x600, 24 bits, etc.
Quitar el fondo de la imagen y dejar solamente las frutas.
Utilizar algùn operador de segmentación para reconocer y extraer las frutas de la imagen.
Para cada una de las frutas se va a extraer la longitud y el indice de circularidad.
Utilizar un algoritmo de clasificaciòn para decidir que tipo de fruta es cada una.
![Page 6: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/6.jpg)
Guía de Trabajos Prácticos
Práctico 1: CAPTURA, ALMACENAMIENTO Y REPRESENTACION DE IMAGENES
Práctico 2: REALCE DE IMAGENES
Práctico 3: SEGMENTACIÓN - DETECCIÓN DE BORDES
Práctico 4: OPERACIONES GEOMÉTRICAS Y ALMACENAMIENTO DE OBJETOS
Práctico 5: OPERADORES MORFOLOGICOS
Práctico 6: MODELOS DE COLOR Y FORMATOS DE ARCHIVO
Práctico 7: PATTERN MATCHING
![Page 7: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/7.jpg)
Proyectos finales
1. Segmentación y análisis de fisuras en metales (Industria)
2. Análisis y procesamiento de imágenes termográficas (medicina)
3. Identificación de especies vegetales por morfología foliar (biología)
4. Identificación de personas por morfología del rostro (biometría)
5. Análisis y procesamiento de imágenes radiológicas (medicina)
![Page 8: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/8.jpg)
Definición de Imagen
Cámara Oscura:
"Se hace pasar la luz
a través de un
pequeño agujero
hecho en un cuarto
cerrado por todos sus
lados. En la pared
opuesta al agujero, se
formará la imagen de
lo que se encuentre
enfrente".
Que es una imagen?
Una representación de un objeto real
![Page 9: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/9.jpg)
Definición de Imagen
Una representación plana de un objeto de 3 dimensiones
![Page 10: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/10.jpg)
Procesamiento Digital de Imágenes
� Las imágenes y el procesamiento son digitales.
� Imagen digital: Conjunto finito de elementos.� Procesamiento digital de imágenes:
Procesamiento de imágenes realizado por un sistema digital (electrónico).
![Page 11: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/11.jpg)
• Una imagen de dos dimensiones es una función f(X, Y) donde X e Yrepresentan las coordenadas del plano.
• f(X,Y) representa la intensidad o nivel de gris de la imagen en ese punto
• Si X e Y son discretos y finitos entonces la imagen es digital
Imagen Digital
![Page 12: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/12.jpg)
12
¿Qué es una imagen digital?
Representación en formato de grilla (matriz)
M filas x N columnasM filas
N columnas
![Page 13: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/13.jpg)
13
¿Qué es una imagen digital?
Representación en formato de grilla (matriz)
M filas x N columnas
![Page 14: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/14.jpg)
14
¿Qué es una imagen digital?
Representación en formato de grilla (matriz)
M filas x N columnas
Cada elemento de la grilla es un PIXEL
M filas
N columnas
![Page 15: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/15.jpg)
15
¿Qué es una imagen digital?
Representación en formato de grilla (matriz)
M filas x N columnas
Cada elemento de la grilla es un PIXEL
M filas
N columnas
¿Qué información se guarda en cada pixel?
![Page 16: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/16.jpg)
16
El pixel – Profundidad de tono de gris
� Pixel → INTENSIDAD PROMEDIO → número
![Page 17: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/17.jpg)
17
El pixel – Profundidad de tono de gris
blanco
(2n – 1)
negro
0
� Pixel → INTENSIDAD PROMEDIO → número
![Page 18: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/18.jpg)
18
El pixel – Profundidad de tono de gris
blanco
(2n – 1)
negro
0
n = 1
2 niveles
21 – 1 = 10
� Pixel → INTENSIDAD PROMEDIO → número
![Page 19: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/19.jpg)
19
El pixel – Profundidad de tono de gris
� Pixel → INTENSIDAD PROMEDIO → número
blanco
(2n – 1)
negro
0
n = 2
4 niveles
22 – 1 = 30
![Page 20: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/20.jpg)
20
El pixel – Profundidad de tono de gris
� Pixel → INTENSIDAD PROMEDIO → número
blanco
(2n – 1)
negro
0
n = 3
8 niveles
23 – 1 = 70
![Page 21: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/21.jpg)
21
El pixel – Profundidad de tono de gris
� Pixel → INTENSIDAD PROMEDIO → número
blanco
(2n – 1)
negro
0
n = 4
16 niveles
24 – 1 = 150
![Page 22: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/22.jpg)
22
El pixel – Profundidad de tono de gris
� Pixel → INTENSIDAD PROMEDIO → número
blanco
(2n – 1)
negro
0
n = 5
32 niveles
25 – 1 = 310
![Page 23: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/23.jpg)
23
El pixel – Profundidad de tono de gris
Imagen original
![Page 24: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/24.jpg)
24
El pixel – Profundidad de tono de gris
5-bits
32 niveles de gris
![Page 25: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/25.jpg)
25
El pixel – Profundidad de tono de gris
4-bits
16 niveles de gris
![Page 26: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/26.jpg)
26
El pixel – Profundidad de tono de gris
3-bits
8 niveles de gris
![Page 27: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/27.jpg)
27
El pixel – Profundidad de tono de gris
Universidad Nacional del Centro de la Prov. de Bs. As.Facultad de Ciencias Exactas
2-bits
4 niveles de gris
VIII Semana Nacional de la Ciencia y la TecnologíaTandil, 01/06/2010
![Page 28: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/28.jpg)
28
El pixel – Profundidad de tono de gris
1-bit
2 niveles de gris
![Page 29: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/29.jpg)
29
GrilladoM x N = 10 x 10
El pixel – Resolución
![Page 30: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/30.jpg)
30
El pixel – Resolución
GrilladoM x N = 10 x 10
8-bits0 = NEGRO
255 = BLANCO
![Page 31: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/31.jpg)
31
El pixel – Resolución
GrilladoM x N = 10 x 10
8-bits0 = NEGRO
255 = BLANCO
![Page 32: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/32.jpg)
32
El grillado – Resolución
GrilladoM x N = 10 x 10
8-bits0 = NEGRO
255 = BLANCO
![Page 33: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/33.jpg)
33
El grillado – Resolución
GrilladoM x N = 20 x 20
8-bits0 = NEGRO
255 = BLANCO
![Page 34: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/34.jpg)
34
El grillado – Resolución
GrilladoM x N = 20 x 20
8-bits0 = NEGRO
255 = BLANCO
![Page 35: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/35.jpg)
Cuantificación
Resolución:
� Es la cantidad de píxeles que definen la imagen.
Ejemplos:
640x480, 800x600, 1024x768, etc.
![Page 36: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/36.jpg)
36
El tamaño de la imagen
10 x 10 8-bits 20 x 20 8-bits
1,2 kB 1,4 kB
![Page 37: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/37.jpg)
37
El tamaño de la imagen
40 x 40 8-bits 350 x 350 8-bits
2,6 kB 124,0 kB
![Page 38: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/38.jpg)
38
Caracterizando la imagen: histograma
350 x 350 8-bits350 x 350 = 122.500 pixels
![Page 39: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/39.jpg)
39
Caracterizando la imagen: histograma
350 x 350 8-bits350 x 350 = 122.500 pixels
![Page 40: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/40.jpg)
40
Histograma: intensidad
![Page 41: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/41.jpg)
41
Histograma: intensidad
? ?
![Page 42: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/42.jpg)
42
Histograma: intensidad
![Page 43: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/43.jpg)
43
Histograma: contraste
![Page 44: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/44.jpg)
44
Histograma: contraste
?
![Page 45: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/45.jpg)
45
Histograma: contraste
![Page 46: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/46.jpg)
46
Histograma: umbralado
64 128 200
![Page 47: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/47.jpg)
47
Aplicación de máscaras
� Se modifica el valor de cada pixel a partir de una operación matemática
� Se tiene en cuenta el pixel y su entorno
� CONVOLUCION: Máscara que recorre la imagen pixel por pixel
![Page 48: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/48.jpg)
48
Aplicación de máscaras
Ejemplo:
![Page 49: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/49.jpg)
49
Aplicación de máscaras
Ejemplo:
![Page 50: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/50.jpg)
50
Aplicación de máscaras
Ejemplo:
![Page 51: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/51.jpg)
51
Aplicación de máscaras
Ejemplo:
![Page 52: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/52.jpg)
52
Aplicación de máscaras
Ejemplo:
Pixel central = (-1)·75 + 0·76 + 1·210 + (-1)·76 + 1·172 + 1·255 +
(-1)·211 + 0·255 + 1·255 == 530 Valor final = 530 / Norma
![Page 53: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/53.jpg)
53
Aplicación de máscaras
Ejemplo:
Pixel central = (-1)·75 + 0·76 + 1·210 + (-1)·76 + 1·172 + 1·255 +
(-1)·211 + 0·255 + 1·255 == 530 Valor final = 530 / 1 = 1
![Page 54: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/54.jpg)
54
Suavizado
Ejemplo:
![Page 55: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/55.jpg)
55
Suavizado
Ejemplo:
Pixel central = 9·255 Valor final = 9·255 / 9 = 255
![Page 56: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/56.jpg)
56
Suavizado
Ejemplo:
Pixel central = 6·255 Valor final = 6·255 / 9 = 170
![Page 57: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/57.jpg)
57
Suavizado
Ejemplo:
Pixel central = 3·255 Valor final = 3·255 / 9 = 85
![Page 58: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/58.jpg)
58
Suavizado
Ejemplo:
![Page 59: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/59.jpg)
59
Suavizado
Ejemplo:
![Page 60: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/60.jpg)
60
Ejemplo:
Suavizado
![Page 61: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/61.jpg)
61
Ejemplo:
Suavizado
![Page 62: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/62.jpg)
62
Ejemplo:
Suavizado
VIII Semana Nacional de la Ciencia y la TecnologíaTandil, 01/06/2010
![Page 63: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/63.jpg)
63
Imagen Original
Suavizado
![Page 64: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/64.jpg)
64
Máscara:
Suavizado
![Page 65: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/65.jpg)
65
Máscara:
Suavizado
![Page 66: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/66.jpg)
66
Máscara:
Bordes
![Page 67: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/67.jpg)
67
Máscara:
Bordes
![Page 68: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/68.jpg)
68
Máscara:
Bordes
Ajuste de niveles de gris1020 → 255765 → 192
![Page 69: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/69.jpg)
69
Máscara:
Bordes
Ajuste de niveles de gris1020 → 255765 → 192
![Page 70: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/70.jpg)
70
Imagen Original
![Page 71: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/71.jpg)
71
Máscara:
Bordes
![Page 72: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/72.jpg)
Profundidad de Color
Intensidad:o Es el valor de gris quepuede adoptar cada píxel.
o La cantidad de valores posibles que puede adoptar un píxel se denomina Profundidad de Color.
Usualmente se mide en potencias de 2. Ej: 2^1, 2^8, 2^16, etc.
![Page 73: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/73.jpg)
Muestreo
Muestreo:Es la cantidad de informaciòn que contiene la imagen.
![Page 74: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/74.jpg)
Procesamiento de Imágenes I
Niveles de programación
Hardware
Archivo
Frameworks(VCL, MFC, JAVA, Paquetes OS)
S.O. (API)
![Page 75: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/75.jpg)
VCL
TImage
TPicture picture;
Tcanvas canvas;
TPicture
Tcanvas canvas;
TCanvas
Píxels
Métodos: CopyRect(), Draw(), FillRect(), LineTo(), MoveTo(), Rectangle(), RoundRect(), ScanLine(), etc.
Clases principales del framework VCL
![Page 76: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/76.jpg)
Procesamiento de Imágenes I
Ejemplo de cargar una imagen utilizando VCL:
procedure CargaImagen;
var Imagen: TBitmap;
begin
Imagen := TBitmap.Create;
Imagen.LoadFromFile('c:\prueba.bmp');
Imagen.Free;
end;
Leer y escribir la información en una imagen utilizando la propiedad Pixels
procedure TForm1.EjemploPixels;
var Imagen: TBitmap;
begin
Imagen := TBitmap.Create;
Imagen.Width := 100;
Imagen.Height := 100;
Imagen.Canvas.Pixels[10,20] := $00FFFFFF;
Image1.Picture.Bitmap.Assign(Imagen);
Imagen.Free;
end;
El formato de este valor esel siguiente:$AABBCCDDDonde AA indica el tipo depaleta (00, 01 o 02)BB, CC y DD van de 00 a FFe indican el componente decolor para Red, Green y Blue.
![Page 77: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/77.jpg)
Procesamiento de Imágenes I
procedure TForm1.EjemploScanline;
var Imagen: TBitmap;
b : PByteArray;
i,j : integer;
begin
Imagen := TBitmap.Create;
Imagen.PixelFormat := pf8bit;
Imagen.Width := 100;
Imagen.Height := 100;
b := Imagen.ScanLine[10];
b[20] := 0;
Image1.Picture.Bitmap.Assign(Imagen);
Imagen.Free;
end;
Aquí configuramos la profundidadde color de la imagen creada.
Leer y escribir la información en una imagen utilizando la propiedad Scanline
![Page 78: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/78.jpg)
Procesamiento de Imágenes I
Leer y escribir la información en una imagen utilizando funciones API
procedure TForm1.EjemploAPI;
var Imagen: TBitmap;
i,j : integer;
begin
Imagen := TBitmap.Create;
Imagen.Width := 100;
Imagen.Height := 100;
SetPixel(Imagen.Canvas.Handle,10,20,clBlack);
Image1.Picture.Bitmap.Assign(Imagen);
Imagen.Free;
end;
![Page 79: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/79.jpg)
Procesamiento de Imágenes I
Documento:Se debe declarar una variable Bitmap *: ej:Bitmap *pbmp.En el metodo OnOpenDocument se debe cargar la imagen, ya que este se llama cuando se quiere abrir la imagen. Se deben agregar solo las siguientes lineas:
BOOL CBMPViewDoc::OnOpenDocument(LPCTSTR lpszPathName) { if (!CDocument::OnOpenDocument(lpszPathName))
return FALSE;
FILE *fp=fopen(lpszPathName,"rb"); pbmp = new Bitmap(fp);fclose(fp);UpdateAllViews(0,0,0);
return TRUE;}
![Page 80: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/80.jpg)
Procesamiento de Imágenes I
Vista:Se debe modificar el metodo OnDraw, agregando:
void CBMPViewView::OnDraw(CDC* pDC){
CBMPViewDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);
Bitmap *b=pDoc->pbmp;if (!b) return;
long width=b->getWidth();long height=b->getHeight();
for (long j=0; j<height; j++)for (long i=0; i<width; i++) { unsigned long c = b->getColor(i,j);
pDC->SetPixel(i,j,c); }}
![Page 81: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/81.jpg)
Practico 1: Ejercicio 3
procedure TForm1.EjemploAPI;
var Imagen: TBitmap;
i,j : integer;
begin
Imagen := TBitmap.Create;
Imagen.Width := 256;
Imagen.Height := 100;
for i:= 0 to Imagen.Width
for j:= 0 to Imagen.Height
SetPixel(Imagen.Canvas.Handle,i,j,RGB(i, i, i));
Image1.Picture.Bitmap.Assign(Imagen);
Imagen.Free;
end;
![Page 82: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/82.jpg)
Practico 1: Ejercicio 3
procedure TForm1.EjemploAPI;
var Imagen: TBitmap;
i,j : integer;
begin
Imagen := TBitmap.Create;
Imagen.Width := 256;
Imagen.Height := 100;
paso := Imagen.Width div NivelGris; /// Ej = 8
for i:= 0 to Imagen.Width
c := mod (i/paso);
for j:= 0 to Imagen.Height
SetPixel(Imagen.Canvas.Handle,i,j,RGB(c, c, c));
Image1.Picture.Bitmap.Assign(Imagen);
Imagen.Free;
end;
![Page 83: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/83.jpg)
Practico 1: Ejercicio 4
![Page 84: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/84.jpg)
Practico 1: Ejercicio 4
procedure TForm1.Button4Click(Sender: TObject);
var i, j, f, gris, nuevogris: integer;
bit : Tbitmap;
begin
bit := Tbitmap.Create();
bit.Width := Image1.Width;
bit.Height := Image1.Height;
f:= 256 div 8;
for j:= 0 to bit.Height-1 do
for i:= 0 to bit.Width-1 do
begin
gris := getRValue(Image1.Canvas.Pixels[i, j]);
nuevogris := (gris mod f) *f;
bit.Canvas.Pixels[i, j] := rgb(NuevoGris,
NuevoGris, NuevoGris);
end;
Image1.Picture.Assign(bit);
end;
0 32 64 96 128 160 192 224 256
Color
![Page 85: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/85.jpg)
Practico 1: Ejercicio 5
![Page 86: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/86.jpg)
Brillo e Intensidad
Intensidad:
La magnitud física que mide cuanta luz hay presente, ligada a la energía es la intensidad. La intensidad es lo que se cuantifica de 0 a 255 en ocho bits por tono.
Brillo:
El brillo por otro lado es una sensación humana. La relación entre brillo e intensidad no es directa debido a la adaptabilidad que tiene el ojo.
![Page 87: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/87.jpg)
Contraste
El contraste se refiere a la variación de intensidades:
1. si hay mucha variación de intensidades hablamos de alto contraste
2. si hay poca variación de intensidades hablamos de bajo contraste
![Page 88: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/88.jpg)
Histograma
El Histograma es la gráfica que muestra la cantidad de píxeles que tienen una determinada intensidad luminosa.
Intensidad de Gris
Cantidad
![Page 89: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/89.jpg)
Práctico 2: Ejercicio 1
![Page 90: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/90.jpg)
Práctico 2: Ejercicio 1
![Page 91: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/91.jpg)
Práctico 2: Ejercicio 2
35 234
Histograma
MIN MAX0
255 Y= A X + B
Expansión Lineal
A = 255 / (MAX – MIN)
MIN MAX0
255
Expansión Logarítmica
MIN MAX
0
255
Expansión Exponencial
MIN MAX0
255
Expansión Polinomial
![Page 92: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/92.jpg)
Práctico 2: Ejercicio 2
MIN MAX0
255 Y= A X + B
Expansión Lineal
A = 255 / (MAX – MIN)
![Page 93: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/93.jpg)
Expansión de histograma
0
255
Expansión Exponencial
•Los tonos oscuros se mantienen•Los tonos claros se oscurecen
![Page 94: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/94.jpg)
Expansión de histograma
MIN MAX0
255
Expansión Logarítmica
•Los tonos mas aclaran•Los tonos claros se mantienen
![Page 95: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/95.jpg)
Expansiòn de histograma
MIN MAX0
255
Expansión Polinomial
![Page 96: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/96.jpg)
Práctico 2: Ejercicio 3
1 1 1
1 8 1
1 1 1
Pixel [i, j] = (Pixel[i-1, j-1] * 1 + Pixel[i, j-1] * 1 + Pixel[i+1, j-1] * 1 +
Pixel[i-1, j] * 1 + Pixel[i, j] * 8 + Pixel[i+1, j] * 1 +
Pixel[i-1, j-1] * 1 + Pixel[i, j-1] * 1 + Pixel[i+1, j-1] * 1 ) / 16
Suavizado: Media Ponderada
Máscara de Coeficientes de Ponderación
CONVOLUCION
![Page 97: Tratamiento Imagenes](https://reader030.vdocuments.net/reader030/viewer/2022033020/55cf9e1f550346d033b06c56/html5/thumbnails/97.jpg)
Práctico 2: Ejercicio 3