In [1]:
using ImageIO
using Images
using SignedDistanceFields
using Plots
using Colors

In [2]:
img = load("julia-logo-color.png")


Out[2]:

In [3]:
boolimg = map(pix-> iszero(pix), img);
contour(Float32.(boolimg), levels=1, line_z = 0.5,linewidth=2)


Out[3]:
50 100 150 200 250 300 50 100 150 200 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

In [4]:
Gray.(boolimg)


Out[4]:

In [5]:
sdfimg = sdf(boolimg);
contour(sdfimg)


Out[5]:
50 100 150 200 250 300 50 100 150 200 - 60 - 50 - 40 - 30 - 20 - 10 0 10

In [6]:
minv,maxv = extrema(sdfimg)
rng = maxv-minv


Out[6]:
83.68368041838224

In [7]:
map(v -> RGB(ntuple(_->(v-minv)/rng,3)...), sdfimg)


Out[7]:

In [11]:
edfimg = edf(boolimg);
contour(edfimg)


Out[11]:
50 100 150 200 250 300 50 100 150 200 0 2.5 5.0 7.5 10.0 12.5 15.0 17.5

In [9]:
minv,maxv = extrema(edfimg)
rng = maxv-minv


Out[9]:
17.88854381999832

In [10]:
map(v -> RGB(ntuple(_->(v-minv)/rng,3)...), edfimg)


Out[10]:

In [ ]: