escuela de ingeniería informática de oviedo · image interpolation occurs in all digital images...

31
Image interpolation Escuela de Ingeniería Informática de Oviedo (Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 1 / 24

Upload: others

Post on 08-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Image interpolation

Escuela de Ingeniería Informática de Oviedo

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 1 / 24

Page 2: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Content

1 Introduction

2 Nearest neighbor

3 Bilinear interpolation

4 Bicubic

5 Matlab

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 2 / 24

Page 3: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Introduction

Outline

1 Introduction

2 Nearest neighbor

3 Bilinear interpolation

4 Bicubic

5 Matlab

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 3 / 24

Page 4: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Introduction

Image interpolation occurs in all digital images at some stageResizing (resampling)Remapping (geometrical tansformations- rotation, change ofperspective,...)Inpainting (restauration of holes)Morphing, nonlinear transformations

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 4 / 24

Page 5: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Introduction

Image interpolation occurs in all digital images at some stageResizing (resampling)Remapping (geometrical tansformations- rotation, change ofperspective,...)Inpainting (restauration of holes)Morphing, nonlinear transformations

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 4 / 24

Page 6: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Introduction

Image interpolation occurs in all digital images at some stageResizing (resampling)Remapping (geometrical tansformations- rotation, change ofperspective,...)Inpainting (restauration of holes)Morphing, nonlinear transformations

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 4 / 24

Page 7: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Introduction

Image interpolation occurs in all digital images at some stageResizing (resampling)Remapping (geometrical tansformations- rotation, change ofperspective,...)Inpainting (restauration of holes)Morphing, nonlinear transformations

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 4 / 24

Page 8: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Nearest neighbor

Outline

1 Introduction

2 Nearest neighbor

3 Bilinear interpolation

4 Bicubic

5 Matlab

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 5 / 24

Page 9: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Nearest neighbor

Nearest neighbor

Most basic methodRequires the least processing timeOnly considers one pixel: the closest one to the interpolated pointHas the effect of simply making each pixel bigger

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 6 / 24

Page 10: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Nearest neighbor

Nearest neighbor

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 7 / 24

Page 11: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Nearest neighbor

Nearest neighbor

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 7 / 24

Page 12: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Nearest neighbor

Relationship with 1D interpolation

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 8 / 24

Page 13: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Bilinear interpolation

Outline

1 Introduction

2 Nearest neighbor

3 Bilinear interpolation

4 Bicubic

5 Matlab

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 9 / 24

Page 14: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Bilinear interpolation

BilinearConsiders the closest 2x2 neighborhood of known pixel valuessurrounding the unknown pixelsTakes a wheighted average of these 4 pixels to arrive at the finalinterpolated valuesResults in smoother looking images than nearest neighborhoodNeeds of more processing time

Figure: Case when all known pixel distances are equal. Interpolated value is simplytheir sum divided by four.

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 10 / 24

Page 15: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Bilinear interpolation

Bilinear

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 11 / 24

Page 16: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Bilinear interpolation

Bilinear

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 11 / 24

Page 17: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Bilinear interpolation

Relationship with 1D interpolation

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 12 / 24

Page 18: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Bicubic

Outline

1 Introduction

2 Nearest neighbor

3 Bilinear interpolation

4 Bicubic

5 Matlab

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 13 / 24

Page 19: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Bicubic

BicubicOne step beyond bilinear by considering the closest 4x4 neighborhood ofknown pixels, for a total of 16 pixelsSince these are at various distances from the unknown pixel, closerpixels are given a higher weighting in the calculationProduces sharper images than the previous two methods.Good compromise between processing time and output qualityStandard in many image editing programs, printer drivers and in-camerainterpolation

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 14 / 24

Page 20: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Bicubic

Figure: Nearest

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 15 / 24

Page 21: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Bicubic

Figure: Bilinear

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 15 / 24

Page 22: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Bicubic

Figure: Bicubic

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 15 / 24

Page 23: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Bicubic

Relationship with 1D interpolation

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 16 / 24

Page 24: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Bicubic

Another example (wiki)

Figure: Nearest, bilinear and bicubic intepolations

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 17 / 24

Page 25: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Matlab

Outline

1 Introduction

2 Nearest neighbor

3 Bilinear interpolation

4 Bicubic

5 Matlab

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 18 / 24

Page 26: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Matlab

Generic interpolation

1 clear all2 I=imread('lena_eye.png');3 I=double(I);4

5 [m n]= size(I);6 [x,y] = meshgrid(1:n, 1:m); % grid of input image7

8 r=0.5; % scale factor9 [p,q]=meshgrid(1:r:n, 1:r:m); % grid for output image

10 I2=interp2(x,y,I,p,q,'nearest'); % interpolation11 % 'nearest', ...

'bilinear','bicubic'12

13 figure14 subplot(1,2,1),imagesc(I),axis image15 title('Original','FontSize',18)16 subplot(1,2,2),imagesc(I2),axis image17 title('NN interpolator','FontSize',18)18 colormap(gray)19

20 print -djpeg eye_ori_NN.jpg

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 19 / 24

Page 27: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Matlab

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 20 / 24

Page 28: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Matlab

Image interpolation. Direct commands

1 clear all2 I=imread('lena_eye.png');3 I=double(I);4

5 r=2;theta=45;6 I2=imresize(I,r,'bicubic'); % resize by factor r7 I3=imrotate(I2,theta,'bicubic'); % rotate theta degrees8 I4=imrotate(I2,theta,'bicubic','crop'); % 'crop'-> original size9

10 figure11 subplot(2,2,1),imagesc(I),axis image12 title('Original','FontSize',18)13 subplot(2,2,2),imagesc(I2),axis image14 title('Resize','FontSize',18)15 subplot(2,2,3),imagesc(I3),axis image16 title('Rotate resized','FontSize',18)17 subplot(2,2,4),imagesc(I4),axis image18 title('...and cropped','FontSize',18)19 colormap(gray)20

21 print -djpeg eye_several.jpg

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 21 / 24

Page 29: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Matlab

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 22 / 24

Page 30: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Matlab

Image interpolation. Affine transformations

1 clear all2 I=imread('lena_eye.png');3 I=double(I);4

5 tform2 = maketform('affine',[1 0 0; .5 1 0; 0 0 1]); % ...shear

6 I2 = imtransform(I,tform2);7

8 theta=pi/4; % ...rotation

9 A=[cos(theta) sin(theta) 0; -sin(theta) cos(theta) 0; 0 0 1];10 tform3 = maketform('affine',A);11 I3 = imtransform(I,tform3);12

13 tform4 = maketform('composite',[tform2,tform3]); % ...composition

14 I4 = imtransform(I,tform4);15

16 figure17 subplot(2,2,1),imagesc(I),axis image18 title('Original','FontSize',18)19 subplot(2,2,2),imagesc(I2),axis image20 title('Horizontal shear','FontSize',18)21 subplot(2,2,3),imagesc(I3),axis image22 title('Rotate','FontSize',18)23 subplot(2,2,4),imagesc(I4),axis image24 title('composition','FontSize',18)25 colormap(gray)26

27 print -djpeg eye_custom.jpg

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 23 / 24

Page 31: Escuela de Ingeniería Informática de Oviedo · Image interpolation occurs in all digital images at some stage Resizing (resampling) Remapping (geometrical tansformations- rotation,

Matlab

(Dpto. de Matemáticas-UniOvi) Numerical Computation Image interpolation 24 / 24