• No se han encontrado resultados

Ajuste de un A-spline c´ ubico G 2 -continuo para datos de con-

2.6 Aplicaci´ on del A-spline al ajuste y suavizamiento de curvas

2.6.1 Ajuste de un A-spline c´ ubico G 2 -continuo para datos de con-

En este ep´ıgrafe se presenta un algoritmo para ajustar los contornos de im´agenes di-gitalizadas usando un A-spline c´ubico G2-continuo. Se toma como punto de partida la propuesta realizada por [Her02], extendiendo su metodolog´ıa para A-splines c´ oni-cos G1-continuos a A-splines c´ubicos G2-continuos. Ello implicar´a algunos cambios y novedades como la estimaci´on de los vectores tangentes, los valores de curvaturas y la forma en que se ajustan los nuevos par´ametros de control local al esquema A-spline c´ubico.

El prop´osito principal de esta secci´on es construir una curva suave para aproximar el contorno de una imagen digital. Es sabido de [Gon92], que el t´ermino imagen, se refiere a una funci´on I(x, y), de dos dimensiones de luz-intensidad donde el valor de I(x, y) en las coordenadas espaciales (x, y) es la intensidad (brillo) de la imagen en ese punto. Si la imagen continua I(x, y) se aproxima por muestras igualmente espa-ciadas en forma de una matriz (de tama˜no N xM ) bI(i; j) = I(Xi; Yj), i = 1, ..., N , j = 1, ..., M , se obtiene lo que se denomina una imagen digital. Cada elemento de la matriz bI se conoce como p´ıxel. Com´unmente, los valores de N , M y el n´umero de niveles de gris son enteros potencias de dos.

Los datos originales del problema representan una imagen digital, es decir, se tiene una matriz bI en la que el valor de bI en un p´ıxel es el nivel de gris correspon-diente. Esta imagen se convierte en una imagen binaria por umbralizaci´on. Varias t´ecnicas cl´asicas (segmentaci´on, dilataci´on condicional, erosi´on) de procesamiento de im´agenes [Sah88], [Tau91], [Dou92],[Gon92]),se utilizan para mejorar la calidad de la imagen con el fin de obtener un conjunto de puntos que describen su contorno.

El conjunto de puntos Pk = (xk, yk), k = 1, ..., m en el contorno de la imagen, donde xk = Xi, yk = Yj para alg´un i, j se calculan utilizando un m´etodo de detecci´on de bordes. Los puntos Pk, k = 1, ..., m obtenido por este m´etodo se ordenan en la direcci´on del movimiento de la curva de contorno.

Una vez que, han sido calculados los puntos representativos del contorno de una ima-gen digital, a partir de los datos de entrada, los pasos fundamentales para construir la curva A-spline c´ubica G2-continua que ajusta los datos, son los siguientes:

1. Determinaci´on del pol´ıgono de control del A-spline c´ubico.

2. C´alculo de las direcciones tangentes en cada v´ertice de la poligonal.

3. C´alculo de los valores de curvatura asociados a cada v´ertice de la poligonal.

4. Ajuste de los datos dentro de cada tri´angulo del pol´ıgono de control.

A continuaci´on se ampl´ıan algunos detalles de los pasos antes expuestos:

Determinaci´on del pol´ıgono de control del A-spline c´ubico

El pol´ıgono de control del A-spline c´ubico se construye a partir de una serie de tri´angulos o trapecios consecutivos (en los que quedan posteriormente contenidas las secciones del A-spline) y que poseen s´olo un v´ertice en com´un con sus dos vecinos m´as cercanos.

Sea una nube inicial de puntos Pk (k = 1..m), ordenados en un arreglo de datos, donde m dada es la cantidad total de puntos.

Una vez que, han sido calculados los puntos representativos del contorno de una imagen digital, partir de los datos de entrada, siguiendo la t´ecnica de [Her02] se calcula el conjunto de los puntos de uni´on del A-spline, al cual se agregan los puntos de inflexi´on. ´Estos constituir´an los nodos del A-spline y por ende los v´ertices de su correspondiente poligonal.

Luego del proceso de selecci´on de los nodos, se designa por Pki (i = 1...n − 1), al v´ertice inicial de la i-´esima secci´on de la poligonal que posee n v´ertices y que, en particular, si es cerrada, satisface la condici´on Pk1 = Pkn+1.

C´alculo de las direcciones tangentes en cada v´ertice de la poligonal Con los v´ertices del pol´ıgono de control ya calculados, pasemos ahora al c´alculo del vector tangente al A-spline en cada nodo (en la direcci´on del recorrido de la poligonal). Ello permitir´a construir un A-spline c´ubico G1− continuo.

Sea Pki (en coordenadas reales) el punto inicial del i-´esimo segmento de la poligonal.

El radio ri ser´a calculado por la expresi´on ri = min

kPki−1 − Pkik

2 ;kPki − Pki+1k 2



si la poligonal es cerrada. Si es abierta, entonces para el punto inicial (final) de tal poligonal se considera, como valor del radio ri asociado a dicho punto (ver figura 2.9), solamente la mitad del segmento a la derecha (izquierda) de tal punto inicial (final).

si k < ki consideraremos el vector −→vk =−−−→

PkPki,

Figura 2.9. Determinaci´on del radio ri de la vecindad de Pki.

Con vistas a favorecer a los puntos m´as cercanos a Pki, se realiza ahora el c´alculo de la suma pesada

→vi =

P

Pk∈Vri(Pki)

→vk k−→vkk P

Pk∈Vri(Pki)

1 k−→vkk

, (2.2)

de modo que la ecuaci´on recta tangente a la curva A-spline c´ubica en Pki es

(x, y) = Pki + t

→vi

k−→vik. (2.3)

Finalmente, asignando cada vector tangente (−→vi) a cada nodo (Pki) respectivamente (para cada ki), se garantiza que la curva A-spline c´ubica que se est´a ajustado sea G1− continua.

C´alculo de los valores de curvatura asociados a cada v´ertice de la poligonal A continuaci´on se desarrolla el c´alculo de los valores de curvatura asociados a cada v´ertice de la poligonal. Al asignar dicho valor de curvatura al nodo com´un de dos secciones del A-spline se garantiza la G2 continuidad.

Utilizando las notaciones ya descritas, sea Pki nodo inicial de la i-´esima secci´on con su respectiva recta (2.3) tangente a la curva y Pk un punto arbitrario de la vecindad Vri(Pki). Para cada punto Pk, se halla inicialmente el radio Rk de la circunferencia que interpola a ambos puntos (Pk y Pki) y es tangente a la recta (2.3) en el nodo Pki (ver figura 2.10), con lo cual el radio Rk es

Rk = kPk− Pkik2k−→vik 2k−−−→

PkPkix−→vik .

Figura 2.10. Imagen que muestra c´omo se encuentran cada radio Rk para su posterior c´alculo y uso.

Una vez obtenidos todos los Rk (para cada Pk ∈ Vri(Pki)), se obtiene el radio de curvatura Ri a tr´aves de la promediaci´on mediante una suma pesada

Ri =

P

Pk∈Vri(Pki)

Rk kPk− Pkik P

Pk∈Vri(Pki)

1 kPk− Pkik

.

De este modo, se puede afirmar que la curvatura del A-spline c´ubico en el punto Pki es

ki = 1 Ri

.

Finalmente, al asignar este valor de curvatura a cada nodo, se garantiza que la curva A-spline c´ubica que se est´a ajustando sea G2− continua.

Ajuste de los datos dentro de cada tri´angulo del pol´ıgono de control Una vez calculados los nodos con su respectiva configuraci´on de vectores tangentes y valores de curvaturas asociados, se procede a la elecci´on del δi asociado a la ecuaci´on de la curva (2.1) en la i-´esima secci´on del A-spline.

Es v´alido destacar que una de las ventajas del proceso de selecci´on de nodos (ver [Her02]), es que ubica a m´as del 80 % de los puntos contenidos entre dos nodos conse-cutivos (es decir, los Pk ∈ [Pki; Pki+1]) en un mismo semiplano respecto al segmento de la poligonal que une dichos v´ertices. Esto constituye una ventaja aprovechable para los fines de trabajo.

Inicialmente se determina el signo del δkcorrespondiente a cada Pkcon k ∈ [ki; ki+1], para establecer a cu´al regi´on de inter´es pertenece el punto. Dado que la secci´on

i-´

esima est´a contenida en el i-´esimo tri´angulo de v´ertices Pki, Pki+1, Qi (´este ´ultimo punto es la intersecci´on de las rectas tangentes en Pki y Pki+1), atendiendo al sentido del vector tangente −→vi asociado al punto Pki, se consideran dos casos:

• Caso interior: −→vi apunta al semiplano que contiene a Qi y el δi de la secci´on es positivo.

• Caso exterior: −→vi apunta al semiplano que no contiene a Qiy el δide la secci´on es negativo.

Se debe recordar que cada uno de estos casos est´a asociado, como ya se conoce, a re-giones de inter´es diferentes: el interior, al tri´angulo de v´ertices (0,0,1) (1,0,0) (0,1,0);

el exterior, al trapecio dentro del cual es de especial importancia el tri´angulo de v´ertices (0,0,1) (1,0,0) (23, −13, −13), por ser en ´el donde se encuentran los puntos interiores de la regi´on que pueden ser interpolados por la secci´on A-spline contenida en el trapecio.

A continuaci´on se muestra c´omo proceder para calcular dicho par´ametro:

Luego de obtenidos los v´ertices del tri´angulo PkiQiPki+1 y de determinado el caso al cual debe pertenecer cada Pk de esta secci´on, para aquellos que quedaron situados en el mismo semiplano respecto al segmento PkPki+1:

1. Se reescribe el punto en las coordenadas baric´entricas respecto al tri´angulo PkiQiPki+1

Pk = ukPki+ vkQi+ wkPki+1.

2. Se determina si Pkest´a dentro o no del tri´angulo de referencia asociado a cada regi´on (ver figura 2.11):

Figura 2.11. Los tri´angulos sombreados muestran la parte (de la regi´on de inter´es en cuesti´on) a la que pueden pertenecer puntos interiores a ser inter-polados por la secci´on del A-spline.

• Para el caso interior, las coordenadas baric´entricas de los puntos interiores del tri´angulo correspondiente deben cumplir las condiciones

0 < uk, vk, wk < 1; uk+ vk+ wk= 1.

• Para el caso exterior, reescribiendo Pk con respecto a las coordenadas (0,0,1), (1,0,0), (23, −13,23), se verifica si las nuevas coordenadas (ˆuk, ˆvk, ˆwk) del punto satisfacen las condiciones 0 < ˆuk, ˆvk, ˆwk < 1; ˆuk+ ˆvk+ ˆwk = 1.

De no satisfacerlas se desecha por no pertenecer al tri´angulo.

Despu´es de filtrados los Pk que est´an en el interior del tri´angulo PkiQiPki+1, se eval´uan sus coordenadas baric´entricas (respecto al tri´angulo PkiQiPki+1) en la ecua-ci´on Ai(u, v, w) = 0. Lo anterior conduce a una ecuaci´on de cuarto grado en la variable δk, la cual, como se demuestra en [Beh09], tiene soluci´on ´unica. Se tiene entonces que a cada Pk le corresponde un ´unico δk. Luego se calcula Pb, centro de masa del tri´angulo PkiQiPki+1, y

• si para alg´un k es Pk = Pb, entonces δi := δk;

• si para todo k es Pk= P/ b, entonces δi :=

P δk

kPb− Pkk

P 1

kPb− Pkk

como una suma pesada

para favorecer a los Pk m´as cercanos al centro de masa del Pb del tri´angulo PkiQiPki+1

Una vez hecho todo lo anterior queda ajustado el A-spline c´ubico G2-continuo a los datos de entrada.

Documento similar