Bilinear interpolation: Difference between revisions

Content added Content deleted
(Added Perl example)
Line 549: Line 549:


=={{header|Julia}}==
=={{header|Julia}}==
{{works with|Julia|0.6}}

<lang julia>using Images, FileIO, Interpolations
<lang julia>using Images, FileIO, Interpolations

function enlarge(A::Matrix, factor::AbstractFloat)
function enlarge(A::Matrix, factor::AbstractFloat)
lx, ly = size(A)
lx, ly = size(A)
nx, ny = round.(Int, factor .* (lx, ly))
nx, ny = round.(Int, factor .* (lx, ly))
vx, vy = linspace(1, lx, nx), linspace(1, ly, ny)
vx, vy = LinRange(1, lx, nx), LinRange(1, ly, ny)
itp = interpolate(A, BSpline(Linear()), OnGrid())
itp = interpolate(A, BSpline(Linear()))
return itp[vx, vy]
return itp(vx, vy)
end
end

A = load("data/lenna100.jpg") |> Matrix{RGB{Float64}};
A = load("data/lenna100.jpg") |> Matrix{RGB{Float64}};
Alarge = enlarge(A, 1.6);
Alarge = enlarge(A, 1.6);
save("data/lennaenlarged.jpg", Alarge)</lang>
save("data/lennaenlarged.jpg", Alarge)


=={{header|Kotlin}}==
=={{header|Kotlin}}==