Вы находитесь на странице: 1из 32

Interpolacin de Imgenes

Escuela de Ingeniera Informtica de Oviedo

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

1 / 25

Contenidos

Introduccin

Vecino ms cercano (Nearest neighbor)

Bilineal

Bicbica

Matlab

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

2 / 25

Introduccin

Esquema

Introduccin

Vecino ms cercano (Nearest neighbor)

Bilineal

Bicbica

Matlab

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

3 / 25

Introduccin

La interpolacin de imgenes se utiliza siempre en el procesado de imgenes


digitales
Escalado (remuestreo).
Reasignacin (transformaciones geomtricas - rotacin, cambio de
perspectiva,...).
Relleno (restauracin de agujeros).
Deformacin, transformaciones no lineales.

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

4 / 25

Introduccin

La interpolacin de imgenes se utiliza siempre en el procesado de imgenes


digitales
Escalado (remuestreo).
Reasignacin (transformaciones geomtricas - rotacin, cambio de
perspectiva,...).
Relleno (restauracin de agujeros).
Deformacin, transformaciones no lineales.

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

4 / 25

Introduccin

La interpolacin de imgenes se utiliza siempre en el procesado de imgenes


digitales
Escalado (remuestreo).
Reasignacin (transformaciones geomtricas - rotacin, cambio de
perspectiva,...).
Relleno (restauracin de agujeros).
Deformacin, transformaciones no lineales.

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

4 / 25

Introduccin

La interpolacin de imgenes se utiliza siempre en el procesado de imgenes


digitales
Escalado (remuestreo).
Reasignacin (transformaciones geomtricas - rotacin, cambio de
perspectiva,...).
Relleno (restauracin de agujeros).
Deformacin, transformaciones no lineales.

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

4 / 25

Vecino ms cercano (Nearest neighbor)

Esquema

Introduccin

Vecino ms cercano (Nearest neighbor)

Bilineal

Bicbica

Matlab

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

5 / 25

Vecino ms cercano (Nearest neighbor)

Vecino ms cercano (Nearest neighbor)


Es un mtodo bsico.
Requiere un tiempo de procesado bajo.
Solo tiene en cuenta un pxel: el ms cercano al punto interpolado.
Simplemente aumenta el tamao de cada pxel.

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

6 / 25

Vecino ms cercano (Nearest neighbor)

Vecino ms cercano (Nearest neighbor)

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

7 / 25

Vecino ms cercano (Nearest neighbor)

Vecino ms cercano (Nearest neighbor)

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

7 / 25

Vecino ms cercano (Nearest neighbor)

Relaciones con la interpolacin 1D

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

8 / 25

Bilineal

Esquema

Introduccin

Vecino ms cercano (Nearest neighbor)

Bilineal

Bicbica

Matlab

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

9 / 25

Bilineal

Bilineal
Tiene en cuenta los valores en los pxeles conocidos que rodean a uno
dado en una vecindad de los 2x2 pxeles ms cercanos.
Se toma el promedio ponderado de estos 4 pxeles y se calcula el valor
interpolado.
El resultado est ms suavizado que las imgenes obtenidas utilizando
el mtodo del pxel ms cercano.
Necesita ms tiempo de procesado.

Figura : Ejemplo en el que todos los pxeles conocidos estn a la misma distancia. El
valor interpolado en entonces la suma de sus valores dividida por cuatro.
(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

10 / 25

Bilineal

Bilineal

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

11 / 25

Bilineal

Bilineal

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

11 / 25

Bilineal

Relacin con la interpolacin 1D

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

12 / 25

Bicbica

Esquema

Introduccin

Vecino ms cercano (Nearest neighbor)

Bilineal

Bicbica

Matlab

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

13 / 25

Bicbica

Bicbica
Un paso ms all del caso bilineal es considerar la vecindad de los 4x4
pxeles conocidos ms cercanos, es decir, un total de 16 pxeles.
Como estn situados a distancias distintas del pxel de valor
desconocido, se da mayor peso en el clculo a los ms cercanos.
Produce imgenes ms ntidas que los dos mtodos anteriores.
Es un buen compromiso entre tiempo de procesado y calidad de
resultado.
Es un procedimiento estandar en programas de edicin de imgenes,
drivers de impresoras e interpolacin en cmaras.

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

14 / 25

Bicbica

Figura : Nearest
(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

15 / 25

Bicbica

Figura : Bilineal
(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

15 / 25

Bicbica

Figura : Bicbica
(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

15 / 25

Bicbica

Relacin con interpolacin 1D

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

16 / 25

Bicbica

Otro ejemplo (wiki)

Figura : Interpolacin mediante el vecino ms cercano, bilineal y bicbica

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

17 / 25

Matlab

Esquema

Introduccin

Vecino ms cercano (Nearest neighbor)

Bilineal

Bicbica

Matlab

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

18 / 25

Matlab

Interpolacin genrica
clear all
I=imread('lena_eye.png');
I=double(I);
[m n]= size(I);
[x,y] = meshgrid(1:n, 1:m);
r=0.5;
[p,q]=meshgrid(1:r:n, 1:r:m);
I2=interp2(x,y,I,p,q,'nearest');

% rejilla imagen inicial


%
%
%
%

factor de escala
rejilla imagen final
interpolacin
'nearest', ...
'bilinear','bicubic'

figure
subplot(1,2,1),imagesc(I),axis image
title('Original','FontSize',18)
subplot(1,2,2),imagesc(I2),axis image
title('Interpolador NN ','FontSize',18)
colormap(gray)
print -djpeg eye_ori_NN.jpg
(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

19 / 25

Matlab

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

20 / 25

Matlab

Interpolacin. rdenes directas


clear all
I=imread('lena_eye.png');
I=double(I);
r=2;theta=45;
I2=imresize(I,r,'bicubic');
% escalado con factor r
I3=imrotate(I2,theta,'bicubic');
% rota theta grados
I4=imrotate(I2,theta,'bicubic','crop'); % 'crop'-> tamao original
figure
subplot(2,2,1),imagesc(I),axis image
title('Original','FontSize',18)
subplot(2,2,2),imagesc(I2),axis image
title('Escalado','FontSize',18)
subplot(2,2,3),imagesc(I3),axis image
title('Rotado escalado','FontSize',18)
subplot(2,2,4),imagesc(I4),axis image
title('...y recortado','FontSize',18)
colormap(gray)
print -djpeg eye_several.jpg
(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

21 / 25

Matlab

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

22 / 25

Matlab

Interpolacin de imgenes. Transformaciones


afines
clear all
I=imread('lena_eye.png');
I=double(I);
% cizallamiento
tform2 = maketform('affine',[1 0 0; .5 1 0; 0 0 1]);
I2 = imtransform(I,tform2);
% rotacin
theta=pi/4;
A=[cos(theta) sin(theta) 0; -sin(theta) cos(theta) 0; 0 0 1];
tform3 = maketform('affine',A);
I3 = imtransform(I,tform3);
% composicin
tform4 = maketform('composite',[tform2,tform3]);
I4 = imtransform(I,tform4);

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

23 / 25

Matlab

Interpolacin de imgenes. Transformaciones


afines

figure
subplot(2,2,1),imagesc(I),axis image
title('Original','FontSize',18)
subplot(2,2,2),imagesc(I2),axis image
title('Cizallado horizontal','FontSize',18)
subplot(2,2,3),imagesc(I3),axis image
title('Rotacin','FontSize',18)
subplot(2,2,4),imagesc(I4),axis image
title('Composicin','FontSize',18)
colormap(gray)
print -djpeg eye_custom.jpg

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

24 / 25

Matlab

(Dpto. de Matemticas-UniOvi)

Computacin Numrica

Interpolacin de Imgenes

25 / 25

Вам также может понравиться