Drawing generator from a photo
Generate kinds of aquarelle with the photo to svg generator tool is very easy.
- It is achieved by reducing the dimensions of the photo and its number of colors.
- Then by extraction of the contours of the colors with filtering and smoothing of the vertices.
Color quantization
A photo can include a large number of distinct colors, the objective of quantification is to constitute a determined number of groups of close colors to calculate the average color of each group and thus configure the image transformation color palette.
The color of each pixel in the image is then assigned to the closest color in the palette.
The quantization algorithm calculates the distances between colors in a three-dimensional space:
- the HSV (Hue Saturation Value) cylinder
- or the RGB (Red Green Blue) cube
The HSV cylinder
The RGB cube
Depends of the image HSV space can delivers better results.
Try the two modes to choose the better.
Apply the palette
The default palette provides a minimum distance between colors of 5 in deltaE unit.
Use the default palette or define the number of colors and compute the palette.
Then apply the chosen palette:
The original photo
the transformed photo with 16 HSV colors palette
Merge pixels
The merge operation affects the color of one pixel to its adjacent, if the distance from its color to that of the adjacent is less than the chosen distance in deltaE unit.
The deltaE distance is such that a gap of less than 5 is not visible from the eye.
The 16 colors photo before merging
the merged photo with a distance of 5
Generate the drawing
The drawing is generated by extracting the outlines of equals color areas, then filtering the vertices and finally smoothing the vectors.
Each color path are drawn in a dedicated layer.
Layers are generated in descending order of pixel count with a few options:
- Generate overlapped layers
Each layer is extended to cover the following ones, otherwise the layers are disjointed and adjacent by their contours. This generally simplifies outlines by removing holes and removes stroke effects at layer boundaries. - First layer drawn as background rectangle
This option reduces the size of the file produced with the dominant color in the background. - Filter vertices with specified distance
This option simplifies the contours by removing unnecessary points (point with a distance to the chord less than the threshold) and removes staircase effects. - Smooth the vectors
The contours are smoothed by substitution of the vectors with cubic or quadratic arcs depending on the curvature. If the layers are generated disjointed, only the concave portions of the contours are smoothed.
The transformed photo to be vectorized
Raw contours without filters or smoothing
Filtered contours by a distance of 4
Smoothed contours