Ver Mensaje Individual
  #1  
Antiguo 05-01-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Ampliar imagen o parte de ella - Interpolacion Lineal

Buenas foristas,

Lo que pretendo es muy simple. Aplicar una función que permita ampliar una zona determinada de la imagen (o incluso, entera). Se que hay dos métodos:

1. Por repetitción: que consiste en repetir cada pixel K veces en k-1 columnas y filas siguientes. Es sencillo, pero para niveles de K grandes, se produce un efecto cuadriculado.
2. Por interpolación lineal. El proceso se detalla para una K = 2. Primeramente se arma la imagen de tamaño (kM x kN). Segundo, cada pixel de la zona se ingresa en la imagen ampliada dejando un pixel en el medio (valor cero). Por ejemplo:

x 0 x 0
0 0 x 0
x 0 x 0

Donde x es el valor del pixel (ojo... a nivel de gris).

Posteriormente se hace un especie de "filtrado" convolucionando la zona a ampliar con una plantilla (o matriz). Para una k = 2 (es decir ampliar en 200%) se tiene la matrix: ((1/4,1/2,1/4),(1/2,1,1/2),(1/4,1/2,1/4). Una vez realizado esto, se repite la ultima fila y columna.

Según la bibliografía que consulto:
Cita:
Para una k genérica hay que amplicar la plantilla k veces
Y valla que se hace un lío. Pues, si K = 3, entonces... la matriz ¿como sería?... Y Si me guío por este comentario, si realizo el procedimiento una vez (como si fuera K=2) y al resultado le vuelvo aplicar el "filtrado" la imagen conseguida no sería de (kM x KN) sino que sería de (K+1M x k+1N)

Mi pregunta por tanto es... ¿Alguien conoce como realizar el algoritmo para una k cualquiera?

Seoane, lo mas seguro es que si te das una vuelta por aqui... te pongas a escribir codigo Y es muy probable de que te sepas esto

Desde ya, muchas gracias a todos por robarles su tiempo para leer este post.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita