Given a series of X and Y coordinates and an array/matrix, interpolates the Z coordinate using bilinear interpolation.

interpolate_array(image, x, y)

Arguments

image

3-layer RGB/4-layer RGBA array, rayimg class, or filename of an image.

x

X indices (or fractional index) to interpolate.

y

Y indices (or fractional index) to interpolate.

Value

Either a vector of values (if image is a matrix) or a list of interpolated values from each layer.

Examples

#if(interactive()){
#Interpolate a matrix
interpolate_array(volcano,c(10,10.1,11),c(30,30.5,33))
#> [1] 141.00 139.75 136.00
#Interpolate a 3-layer array (returns list for each channel)
interpolate_array(dragon,c(10,10.1,11),c(30,30.5,33))
#> $red
#> [1] 0.01363895 0.01428791 0.01519712
#> 
#> $green
#> [1] 0.04303212 0.04447300 0.04726836
#> 
#> $blue
#> [1] 0.01510470 0.01574887 0.01694425
#> 
#> $alpha
#> [1] 1 1 1
#> 
#end}