Académique Documents
Professionnel Documents
Culture Documents
Dr. Rubn Wainschenker Mg. Ing. Jos Mara Massa Mg. Ing. Paula Tristan
Objetivos de la materia
Extraer informacin de imgenes digitales. Utilizar herramientas informticas para la extraccin de informacin. Capturar, realzar, segmentar, medir, identificar y visualizar objetos de inters en las imgenes. Aplicaciones en diversas reas: medicina, medioambiente, industria, seguridad, gestin.
Programa
Imgenes y procesamientos digitales. Introduccin. Representacin de imgenes digitales. Cmara oscura. Imagen fotogrfica. Imagen digital. RGB. CMY. CMYK. Muestreo y Cuantificacin. Obtencin de imgenes digitales. Detectores, scanners, cmaras CCD, microdensitmetros, ojo humano. Almacenamiento de imgenes digitales. Formatos de almacenamiento de imgenes digitales. Paleta. BMP, GIF, TIFF, JPEG, etc. Anlisis de imgenes digitales. Definicin de contraste, brillo e intensidad luminosa. Histograma. Procesamientos elementales: Realce, Funciones de punto. Realce de tonos claros, oscuros y medios. Expansin de grises. Ecualizacin del histograma. Conectividad. Distancia. Reduccin de ruido en imgenes digitales. Suavizado. Filtros mediana, promedio, combinacin promedio-mediana. Convolucin. Mtodo de trabajo con cualquier filtro. (Normalizacin con expansin lineal, etc.) Deteccin de bordes en imgenes digitales. Estudio de funciones, derivada continua, derivada segunda, derivada digital, asociacin de derivadas a bsquedas de bordes. Filtro de Roberts. Filtros de prewitt y de Kirsch. Deteccin de bordes con direccin preferencial. Filtro de Sobel. El Laplaciano y su filtro. Operaciones geomtricas en imgenes digitales. Tratamiento de firmas y otros objetos claramente definidos: Centro geomtrico, centro de gravedad, Traslaciones, rotaciones, busqueda del angulo de rotacin, teorema del coseno, zoom. Segmentacin. Crecimiento local por cota relativa. Operaciones morfolgicas. Erosin y dilatacin. Bordes por diferencia entre original y erosin. Apertura y Cierre. Filtros Top Hat y Well. Almacenamiento de bordes por mtodo de cdigo de la cadena. Almacenamiento de regiones por mtodo de cdigo de segmentos en lnea. Transformaciones elsticas. Mtodo de clculo y aplicaciones de las transformaciones elsticas. Correlacin entre objetos. Textura. Medicin de parmetros de objetos en imgenes digitales. Calculo de permetros y otras longitudes. Obtencin del rea de una superficie limitada por una curva cerrada. Teorema de Green. Identificacin de objetos: clasificadores entrenados y no-entrenados. Clasificadores probabilsticos. Teorema de Bayes. otros algoritmos de clustering. Introduccin a algoritmos avanzados de clasificacin. K-Means y clasificacin espectral.
Clasificador
Entrenamiento
Prctico 4: OPERACIONES GEOMTRICAS Y ALMACENAMIENTO DE OBJETOS Prctico 5: OPERADORES MORFOLOGICOS Prctico 6: MODELOS DE COLOR Y FORMATOS DE ARCHIVO Prctico 7: PATTERN MATCHING
Proyectos finales
1. Segmentacin y anlisis de fisuras en metales (Industria) 2. Anlisis y procesamiento de imgenes termogrficas (medicina) 3. Identificacin de especies vegetales por morfologa foliar (biologa) 4. Identificacin de personas por morfologa del rostro (biometra) 5. Anlisis y procesamiento de imgenes radiolgicas (medicina)
Definicin de Imagen
Que es una imagen? Una representacin de un objeto real Cmara Oscura: "Se hace pasar la luz a travs de un pequeo 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".
Definicin de Imagen
Imagen Digital
Una imagen de dos dimensiones es una funcin f(X, Y) donde X e Y representan 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
M filas
M filas x N columnas
12
N columnas
M filas x N columnas
13
M filas
14
N columnas
M filas
M filas x N columnas Cada elemento de la grilla es un PIXEL Qu informacin se guarda en cada pixel? N columnas
15
16
17
0 n=1 2 niveles
21 1 = 1
18
0 n=2 4 niveles
22 1 = 3
19
0 n=3 8 niveles
23 1 = 7
20
0 n=4 16 niveles
24 1 = 15
21
0 n=5 32 niveles
25 1 = 31
22
Imagen original
23
24
25
26
Universidad Nacional del Centro de la Prov. de Bs. As. Facultad de Ciencias Exactas
27
28
El pixel Resolucin
Grillado M x N = 10 x 10
29
El pixel Resolucin
Grillado M x N = 10 x 10 8-bits 0 = NEGRO 255 = BLANCO
30
El pixel Resolucin
Grillado M x N = 10 x 10 8-bits 0 = NEGRO 255 = BLANCO
31
El grillado Resolucin
Grillado M x N = 10 x 10 8-bits 0 = NEGRO 255 = BLANCO
32
El grillado Resolucin
Grillado M x N = 20 x 20 8-bits 0 = NEGRO 255 = BLANCO
33
El grillado Resolucin
Grillado M x N = 20 x 20 8-bits 0 = NEGRO 255 = BLANCO
34
Cuantificacin
Resolucin: Es la cantidad de pxeles que definen la imagen.
El tamao de la imagen
10 x 10 8-bits 20 x 20 8-bits
36
1,2 kB
1,4 kB
El tamao de la imagen
40 x 40 8-bits 350 x 350 8-bits
37
2,6 kB
124,0 kB
38
39
Histograma: intensidad
40
Histograma: intensidad
?
41
Histograma: intensidad
42
Histograma: contraste
43
Histograma: contraste
44
Histograma: contraste
45
Histograma: umbralado
46
64
128
200
Aplicacin de mscaras
Se modifica el valor de cada pixel a partir de una operacin matemtica Se tiene en cuenta el pixel y su entorno CONVOLUCION: Mscara que recorre la imagen pixel por pixel
47
Aplicacin de mscaras
Ejemplo:
48
Aplicacin de mscaras
Ejemplo:
49
Aplicacin de mscaras
Ejemplo:
50
Aplicacin de mscaras
Ejemplo:
51
Aplicacin de mscaras
Ejemplo: Pixel central = (-1)75 + 076 + 1210 + (-1)76 + 1172 + 1255 + (-1)211 + 0255 + 1255 = = 530 Valor final = 530 / Norma
52
Aplicacin de mscaras
Ejemplo: Pixel central = (-1)75 + 076 + 1210 + (-1)76 + 1172 + 1255 + (-1)211 + 0255 + 1255 = = 530 Valor final = 530 / 1 = 1
53
Suavizado
Ejemplo:
54
Suavizado
55
Suavizado
56
Suavizado
57
Suavizado
Ejemplo:
58
Suavizado
Ejemplo:
59
Suavizado
Ejemplo:
60
Suavizado
Ejemplo:
61
Suavizado
Ejemplo:
62
Suavizado
Imagen Original
63
Suavizado
Mscara:
64
Suavizado
Mscara:
65
Bordes
Mscara:
66
Bordes
Mscara:
67
Bordes
Mscara:
68
Bordes
Mscara:
69
Imagen Original
70
Bordes
Mscara:
71
Profundidad de Color
Intensidad:
Es el valor de gris que puede adoptar cada pxel.
o
La cantidad de valores posibles que puede adoptar un pxel se denomina Profundidad de Color. Usualmente se mide en potencias de 2. Ej: 2^1, 2^8, 2^16, etc.
o
Muestreo
Muestreo: Es la cantidad de informacin que contiene la imagen.
Procesamiento de Imgenes I
Niveles de programacin Frameworks (VCL, MFC, JAVA, Paquetes OS)
VCL
TImage
TPicture picture; Tcanvas canvas;
TPicture
Tcanvas canvas;
TCanvas
Pxels Mtodos: CopyRect(), Draw(), FillRect(), LineTo(), MoveTo(), Rectangle(), RoundRect(), ScanLine(), etc.
Procesamiento de Imgenes 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;
El formato de este valor es el siguiente: $AABBCCDD Donde AA indica el tipo de paleta (00, 01 o 02) BB, CC y DD van de 00 a FF e indican el componente de color para Red, Green y Blue.
Procesamiento de Imgenes I
Leer y escribir la informacin en una imagen utilizando la propiedad Scanline
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;
Procesamiento de Imgenes I
Leer y escribir la informacin 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;
Procesamiento de Imgenes 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; }
Procesamiento de Imgenes 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); }
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;
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;
Practico 1: Ejercicio 4
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;
Color
0 32 64 96 128 160 192 224 256
Practico 1: Ejercicio 5
Brillo e Intensidad
Intensidad: La magnitud fsica que mide cuanta luz hay presente, ligada a la energa 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 sensacin humana. La relacin entre brillo e intensidad no es directa debido a la adaptabilidad que tiene el ojo.
Contraste
El contraste se refiere a la variacin de intensidades:
1. 2.
si hay mucha variacin de intensidades hablamos de alto contraste si hay poca variacin de intensidades hablamos de bajo contraste
Histograma
El Histograma es la grfica que muestra la cantidad de pxeles que tienen una determinada intensidad luminosa.
Cantidad
Intensidad de Gris
Prctico 2: Ejercicio 1
Prctico 2: Ejercicio 1
Prctico 2: Ejercicio 2
Histograma
255
Expansin Lineal
Y= A X + B A = 255 / (MAX MIN)
Expansin Logartmica
255
Expansin Exponencial
255
Expansin Polinomial
255
0 MIN MAX
0 MIN MAX
0 MIN MAX
Prctico 2: Ejercicio 2
Expansin Lineal
255
0 MIN MAX
Expansin de histograma
Expansin Exponencial
255
Expansin de histograma
Expansin Logartmica
255
Expansin de histograma
Expansin Polinomial
255
0 MIN MAX
Prctico 2: Ejercicio 3
Suavizado: Media Ponderada 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
CONVOLUCION
Prctico 2: Ejercicio 3