Examples at end
Generates a Paint By Number from an input image and a palette image. Allows control over smoothing and paint picking.
- Starts by asking for input image and a palette image. Cancelling when first selecting images closes the application.
- The larger the image, the longer processing will take. Turn off labelling until you want it, as calculating label positions every time is expensive.
- The percentage under each palette square shows the percentage of the image that is made up by that paint, rounded to 1dp.
- Label locations calculated using the Pole Of Inaccessibility of each region, from modifying the algorithm created by the Mapbox team (Explanation Blog, GitHub Repo)
- Colour distance used in finding the closest palette colour to paint a pixel is calculated using the redmean formula
to more accurately calculate the colour difference in sRGB space for the human eye than using the Euclidean distance
Left click on the palette image to add that colour to the palette
Right click on a colour in the palette image, palette, or filled image to remove that colour from the palette
Drag with left click to select a rectangular area and blur the selected area on release
Space to smooth the filled image
L to toggle labelling
S to save current pbn image, filled image, and palette
M to magnify
R to revert smoothing changes
B to toggle black and white mode
N to choose new images
Up Arrow to increase the blur strength (blur kernel size) for smoothing
Down Arrow to decrease the blur strength (blur kernel size) for smoothing