Descargar la presentación
La descarga está en progreso. Por favor, espere
1
PROPIEDADES GEOMÉTRICAS
- CÓDIGO DE CADENAS - REALIZADO POR: - BEATRIZ BRAVO DE MANSILLA JIMÉNEZ. - RAÚL RODRÍGUEZ OLIVARES. - DANIEL DÍAZ PÉREZ.
2
ÍNDICE CÁLCULO DEL CÓDIGO DE CADENAS. CURVA ABIERTA / CERRADA.
LONGITUD DE ARCO / PERÍMETRO. RECTA DIGITAL. ÁREA. POLÍGONO. COMPLEJIDAD. TIPO DE DATOS.
3
CÓDIGO DE CADENAS (I) Representación de bordes Punto inicial
Lista de movimientos 4 / 8 Adyacencia Código de cadenas de ida
4
CÓDIGO DE CADENAS (II) Ejemplo de cálculo 1 1 1 1 1 1 1 6 5 5 3 1 1
1 Punto inicial (4,0) 1 1 1 1 1 1 Código de cadenas: 6 5 5 3 1 1
5
CURVA CERRADA / ABIERTA (I)
(1,0): (3,0): 55771
6
CURVA CERRADA / ABIERTA (II)
Simetría de movimientos n7 + n0 + n1 = n3 + n4 + n5 Mov. Horizontales n1 + n2 + n3 = n5 + n6 + n7 Mov. Verticales Ejemplo (1,0): =
7
LONGITUD DE ARCO / PERÍMETRO
Movimientos horizontales y verticales: +1 Movimientos diagonales: +2 Ejemplo: Código: Perímetro: 2
8
RECTA DIGITAL: PROBLEMAS
¿ DISTINGUIR QUÉ ES UNA RECTA EN EL ÁMBITO DIGITAL? - En el ámbito digital las imágenes son una serie de pixels aislados. - El problema es averiguar si esos pixels forman una recta.
9
RECTA DIGITAL: EJEMPLOS
EXISTEN CASOS EN LOS QUE NO HAY PROBLEMAS: HORIZONTALES VERTICALES DIAGONALES - Los casos en los que sólo hay una pendiente no son problemáticos. - Estos son: - HORIZONTALES. - VERTICALES. - DIAGONALES.
10
RECTA DIGITAL: EJEMPLOS
HORIZONTALES:
11
RECTA DIGITAL: EJEMPLOS
VERTICALES: 1
12
RECTA DIGITAL: EJEMPLOS
DIAGONALES: 1 - OTRAS DIGONALES: 1
13
RECTA DIGITAL: EJEMPLOS
EN ALGUNOS CASOS NO ESTÁ CLARO SI ES O NO RECTA DIGITAL 1111 11 11111 - Cuando se tienen más de una pendiente no es tan fácil decidir si es o no recta digital. - Esta imagen tiene dos pendientes distintas: 0 y 7.
14
RECTA DIGITAL: PROPIEDADES
PARA QUE UNA IMAGEN SEA RECTA DIGITAL DEBE CUMPLIR TRES PROPIEDADES. ESTAS PROPIEDADES SE ESTUDIARÁN CUANDO NO QUEDE CLARO SI LA IMAGEN ES O NO RECTA DIGITAL. - Para los casos en los tengamos más de una pendiente, se aplicaran tres reglas que deberán cumplir las imágenes.
15
RECTA DIGITAL: PROPIEDADES
COMO MÁXIMO HAY DOS PENDIENTES DISTINTAS EN EL CÓDIGO DE CADENAS. SI HAY DOS, ÉSTAS NO DIFIEREN EN MÁS DE 45º. - Si hay tres pendientes la imagen es demasiado curvada para ser recta. - Si las pendientes difieren en más de 45º la imagen formará esquinas. - Que no difieran en más de 45º significa que sus códigos no difieran en más de una unidad ya que en el código de cadenas cada código es múltiplo de 45º 45 x i.
16
RECTA DIGITAL: PROPIEDADES
CORRECTA 1111 INCORRECTA 1111 - La imagen incorrecta tiene más de dos pendientes. Por lo que es demasiado curvada. - EJEMPLO no cumple la propiedad 1 por que sus ángulos difieren en más de 45º. Código De Cadenas =>
17
RECTA DIGITAL: PROPIEDADES
AL MENOS UNA DE LAS DOS PENDIENTES OCURRE EN LOS TRAMOS DE LONGITUD DOS. - Esta garantiza que los escalones que forma la recta son lo menor posible. - Un tramo en la imagen de longitud dos equivale a un código en el código de cadenas por que el código de cadenas representa el salto entre dos unos. => | => 7 1
18
RECTA DIGITAL: PROPIEDADES
CORRECTA 1111 INCORRECTA 1111 1 - CORRECTA => Los tramos en rojo tiene longitud dos, que es el menor salto que se puede dar. - INCORRECTA => El escalón que forma es demasiado pronunciado ya que no posee tramos de longitud dos.
19
RECTA DIGITAL: PROPIEDADES
LA OTRA PENDIENTE OCURRE EN TRAMOS CUYAS LONGITUDES DIFIEREN COMO MÁXIMO EN 1. - Si existe mucha diferencia la imagen será demasiado irregular para ser recta.
20
RECTA DIGITAL: PROPIEDADES
CORRECTA 11111 1111 INCORRECTA 11 - CORRECTA => El número de unos es parecido , lo que hace que la imagen sea regular. - INCORRECTA => El tramo de longitud dos hace que se pierda la regularidad y con ella la rectitud.
21
RECTA DIGITAL: CÁLCULO
PARA VERIFICAR SI UNA IMAGEN ES O NO RECTA DIGITAL SE COMPROBARÁN LAS TRES CONDICIONES ANTERIORES. - Se deben cumplir las tres condiciones. - No se comprobarán en las : HORRIZONTALES, VERTICALES NI DIAGONALES.
22
RECTA DIGITAL: CÁLCULO
PROPIEDAD 1 COMPROBAR EL NÚMERO DE CÓDIGOS DISTINTOS QUE HAY EN EL CÓDIGO DE CADENAS (DOS COMO MÁXIMO). COMPROBAR QUE ESTOS SE DIFERENCIAN EN UNO. - Cada pendiente corresponde a un código del código de cadenas, así que se comprobará que existan sólo dos distintos. - Como cada código sigue la fórmula: 45º x i , entre los códigos debe haber una diferencia de uno.
23
RECTA DIGITAL: CÁLCULO
PROPIEDAD 1 CODIGO DE CADENAS 1 1 1 - IMAGEN => - Tiene dos pendientes: 0 y 7. - Distan en uno (MODULO 7). => 45º x ( 8- 0 MOD 7) - Relación del Código de cadenas: 4 P 0
24
RECTA DIGITAL: CÁLCULO
PROPIEDAD 2 COMPROBAR QUE UNO DE LOS CÓDIGOS SE REPITE SÓLO EN TRAMOS DE LONGITUD UNO EN EL CÓDIGO DE CADENAS. QUE SE REPITA EN UNO EN EL CÓDIGO SIGNIFICA QUE EN LA IMAGEN EL TRAMO MIDE DOS. - Los tramos con longitud dos se corresponden con un código del código de cadenas. Así se comprobará que exista un código que se repita en tramos de uno en código de cadenas.
25
RECTA DIGITAL: CÁLCULO
PROPIEDAD 2 CÓDIGO DE CADENAS 1 1 1 - En tramo en ROJO posee longitud 2 y se corresponde con el 7 del código de cadenas.
26
RECTA DIGITAL: CÁLCULO
PROPIEDAD 3 PARA COMPROBAR LA LONGITUD DE LOS TRAMOS SE ESTUDIARÁN LAS K-PENDIENTES. SI HAY MÁS DE DOS K-PENDIENTES NO SERÁ RECTA DIGITAL. LA ÚLTIMA K-PENDIENTE A COMPROBAR SERÁ IGUAL A LA LONGITUD DEL TRAMO MAYOR. -
27
RECTA DIGITAL: CÁLCULO
K-PENDIENTE ES LA PENDIENTE DE UN TRAMO DE LONGITUD K. - Se centra en un punto y se cuentan k puntos después de este. - ArcTg (Ay/Ax). 1 1 1 1 1 3-PENDIENTE = Arctg (1/3)
28
RECTA DIGITAL: CÁLCULO
PROPIEDAD 3 SI HAY MÁS DE DOS K-PENDIENTES DISTINTAS NO SERÁ RECTA DIGITAL, YA QUE ENTONCES EXISTIRÁ MUCHA DIFERENCIA EN LAS LONGITUDES. - La pequeña longitud del tramo ROJO hace que al calcular la 3-pendiente del uno AMARILLO, salte al siguiente tramo dando un tercer valor en las k-pendientes. - Ese tercer valor indicará siempre, que ha existido un salto debido a un número insuficientes de unos en un tramo determinado. 11 3-PENDIENTE : /3 1/3 2/3 1/3 1/
29
RECTA DIGITAL: CÁLCULO
PROPIEDAD 3 K-PENDIENTES k=1 : K-PENDIENTES k=1 : k=2 : 0 0 1/2 1/2 0 1/2 1/2 0 k=3 : 0 1/3 1/3 1/3 1/3 1/3 1/3 k=4 : 1/4 1/4 1/4 1/2 1/4 1/4 1 1 1 k=2 : 0 0 1/2 1/2 0 1/2 1/2 0 k=3 : 0 1/3 1/3 1/3 1/3 1/3 1/3 k=4 : 1/4 1/4 1/4 1/2 1/4 1/4
30
ÁREA (I) Definición: Número de puntos
Proceso: Integración discreta del borde de una imagen Imagen Compleja: - Agujeros - Otras componentes OTRAS REPRESENTACIONES MÁS FÁCIL POR COLUMNA IMAGEN COMPLEJA BASADO EN COORDENADAS => PTO INICIAL Área encerrada = 24
31
ÁREA (II): Procedimiento de cálculo
Determinación del área por columnas Clasificación de puntos Puntos que no intervienen en el contorno Puntos que intervienen en el contorno - Puntos salientes - Resto de puntos
32
ÁREA (III): Clasificación de puntos (I)
Puntos que no intervienen en el contorno 1 P 1 P 1 P 1 P PARECE UNA TONTERÍA PERO LO DIFICIL ES DETECTAR ESTOS PUNTOS EN LA REPRESENTACIÓN CÓDIGO DE CADENAS. LA ÚNICA SOLUCIÓN ES EXAMINAR TODOS LOS CASOS EXISTENTES. 1 P 1 P 1 P 1 P
33
ÁREA (IV): Clasificación de puntos (II)
Puntos que intervienen en el contorno - Puntos salientes - 1 P 1 P Llegamos a ‘P’ con 7, y lo abandonamos con 5 Llegamos a ‘P’ con 3, y lo abandonamos con 1 - Resto de puntos -
34
ÁREA (V): Ejemplo C1 C2 C3 C4 C5 C6 1 1 1 1 1 1 1 1 1 1 1 1 3 2 6 6 6 5 1 1 1 1 3 6 1 1 1 4 1 1 1 1 5 2 1 1 1 1 5 2 1 1 1 1 1 1 = 28 El primero que se analiza es el siguiente del punto inicial ya que hace falta realizar un movimiento para comprobar de qué tipo de punto se trata.
35
POLÍGONO (I) Definición: Segmentos de línea recta
Longitud mínima ~ (tamaño del pixel) Lados y vértices
36
POLÍGONO (II): Proceso
Determinación de lado 1.- Determinación del segmento mínimo 1 1 1 1 1 Es recta 1 1 1 2.- Adición de un nuevo elemento 1 1 1 1 1 1 Es recta 1 1 3.- Adición de un nuevo elemento 1 NO es recta 4.- Elección de un nuevo vértice
37
POLÍGONO (III): Proceso
Determinación de vértice Condiciones de elección del vértice 1.- Cambio brusco: Retrocede 1 2.- Cambio suave: Retrocede 2 1 1 1 1 1 1 1 Nuevo vértice 1 1 1 1 1
38
COMPLEJIDAD Cálculo del código de cadenas: O(n2)
Curva abierta o cerrada: O(n) Cálculo de la longitud de arco o el perímetro: O(n) Comprobación de rectas y cálculo de pendiente: O(n2) Comprobación de polígono: O(s*m2) Cálculo del área de una curva cerrada: O(n2)
39
TIPOS DE DATOS TIPO IMG Typedef struct{ int fila int columna
int grises int adyacencia byte Matriz(128)(128) }img;
40
TIPOS DE DATOS Typedef struct{ int fila int columna }punto; TIPO PUNTO
int grises int adyacencia byte Matriz(128)(128) }img;
41
TIPOS DE DATOS Typedef struct{ unsigned codigo: 3; void *sig;
TIPO COD_CADENAS Typedef struct{ unsigned codigo: 3; void *sig; }Cod_Cadenas; Porque se usa un unsigned para el código y no otro tipo - TIPO COD_CADENAS: Typedef struct{ unsigned codigo void *sig }Cod_Cadenas;
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.