bicubic interpolation wiki.pdf

Post on 26-Dec-2015

226 Views

Category:

Documents

11 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Bicubic interpolation 1

Bicubic interpolation

Bicubic interpolation on the squareconsisting of 9 unit squares

patched together. Bicubic interpolation as perMATLAB's implementation. Colour indicates

function value. The black dots are the locations ofthe prescribed data being interpolated. Note how

the color samples are not radially symmetric.

Bilinear interpolation on the same dataset asabove. Derivatives of the surface are notcontinuous over the square boundaries.

Nearest-neighbor interpolation on the samedataset as above. Note that the information

content in all these three examples is equivalent.

In mathematics, bicubic interpolation is an extension of cubicinterpolation for interpolating data points on a two dimensional regulargrid. The interpolated surface is smoother than corresponding surfacesobtained by bilinear interpolation or nearest-neighbor interpolation.Bicubic interpolation can be accomplished using either Lagrangepolynomials, cubic splines, or cubic convolution algorithm.

In image processing, bicubic interpolation is often chosen over bilinearinterpolation or nearest neighbor in image resampling, when speed isnot an issue. In contrast to bilinear interpolation, which only takes 4pixels (2×2) into account, bicubic interpolation considers 16 pixels(4×4). Images resampled with bicubic interpolation are smoother andhave fewer interpolation artifacts.

Bicubic interpolation

Suppose the function values and the derivatives , and are known at the four corners , , , and ofthe unit square. The interpolated surface can then be written

The interpolation problem consists of determining the 16 coefficients. Matching with the function values yields four

equations,1.2.3.4.Likewise, eight equations for the derivatives in the -direction andthe -direction

1.2.3.4.5.6.7.8.And four equations for the cross derivative .

1.2.3.

Bicubic interpolation 2

4.where the expressions above have used the following identities,

.

This procedure yields a surface on the unit square which is continuous and with continuousderivatives. Bicubic interpolation on an arbitrarily sized regular grid can then be accomplished by patching togethersuch bicubic surfaces, ensuring that the derivatives match on the boundaries.If the derivatives are unknown, they are typically approximated from the function values at points neighbouring thecorners of the unit square, e.g. using finite differences.Grouping the unknown parameters in a vector,

and letting

,the problem can be reformulated into a linear equation where its inverse is:

.

Bicubic convolution algorithmBicubic spline interpolation requires the solution of the linear system described above for each grid cell. Aninterpolator with similar properties can be obtained by applying a convolution with the following kernel in bothdimensions:

where is usually set to -0.5 or -0.75. Note that and for all nonzero integers .This approach was proposed by Keys who showed that (which corresponds to cubic Hermite spline)produces third-order convergence with respect to the original function.If we use the matrix notation for the common case , we can express the equation in a more friendlymanner:

for between 0 and 1 for one dimension. for two dimensions first applied once in and again in :

Bicubic interpolation 3

Use in computer graphics

Bicubic interpolation causes overshoot, which increases acutance.

The bicubic algorithm is frequently used for scalingimages and video for display (see bitmap resampling).It preserves fine detail better than the common bilinearalgorithm.

However, due to the negative lobes on the kernel, itcauses overshoot (haloing). This can cause clipping,and is an artifact (see also ringing artifacts), but itincreases acutance (apparent sharpness), and can bedesirable.

References

External links

• Application of interpolation to elevation samples(http:/ / www. geovista. psu. edu/ sites/ geocomp99/Gc99/ 082/ gc_082. htm)

• Interpolation theory (http:/ / sepwww. stanford. edu/ public/ docs/ sep107/ paper_html/ node20. html)• Explanation and Java/C++ implementation of (bi)cubic interpolation (http:/ / www. paulinternet. nl/

?page=bicubic)• Excel Worksheet Function for Bicubic Lagrange Interpolation (http:/ / mathformeremortals. wordpress. com/

2013/ 01/ 15/ bicubic-interpolation-excel-worksheet-function/ )

Article Sources and Contributors 4

Article Sources and ContributorsBicubic interpolation  Source: https://en.wikipedia.org/w/index.php?oldid=604287317  Contributors: Amux, Anakin101, Ansell, Ati3414, BIS Suma, BenFrantzDale, Berland, Btyner, Cburnett,Crotalus horridus, Davidhorman, Dicklyon, DocWatson42, Dudzcom, Enzo Aquarius, Faleichik, Fedra, Fgnievinski, Freederick, Frietjes, GabrielSjoberg, George100, Hu, LilHelpa, ManiacK,Mark viking, MattieTK, Mblumber, Michael Hardy, Mwtoews, Mátyás, Nbarth, Nrobidoux, Oleg Alexandrov, Omicronpersei8, Paul Breeuwsma, PhilKnight, Plesatejvlk, Qutezuce, RasmusFaber, Silverfish, Simoneau, Smyth, Stephen e nelson, Sterrys, Steve Checkoway, Svick, The Anome, Ti chris, Tomash, Turkishbob, Weedwhacker128, 84 anonymous edits

Image Sources, Licenses and ContributorsImage:BicubicInterpolationExample.png  Source: https://en.wikipedia.org/w/index.php?title=File:BicubicInterpolationExample.png  License: Public Domain  Contributors: BerlandImage:BilinearInterpolExample.png  Source: https://en.wikipedia.org/w/index.php?title=File:BilinearInterpolExample.png  License: Public Domain  Contributors: BerlandImage:Nearest2DInterpolExample.png  Source: https://en.wikipedia.org/w/index.php?title=File:Nearest2DInterpolExample.png  License: Public Domain  Contributors: BerlandImage:Accutance.svg  Source: https://en.wikipedia.org/w/index.php?title=File:Accutance.svg  License: GNU Free Documentation License  Contributors: Accutance.png derivative work: Beao(talk)

LicenseCreative Commons Attribution-Share Alike 3.0//creativecommons.org/licenses/by-sa/3.0/

top related