
Cartoonizing an image
Over the past few years, professional cartoonizer software has popped up all over the place. In order to achieve a basic cartoon effect, all we need is a bilateral filter and some edge detection.
The bilateral filter will reduce the color palette or the numbers of colors that are used in the image. This mimics a cartoon drawing, wherein a cartoonist typically has few colors to work with. Then, we can apply edge detection to the resulting image to generate bold silhouettes. The real challenge, however, lies in the computational cost of bilateral filters. We will, therefore, use some tricks to produce an acceptable cartoon effect in real time.
We will adhere to the following procedure to transform an RGB color image into a cartoon:
- First, apply a bilateral filter to reduce the color palette of the image.
- Then, convert the original color image into grayscale.
- After that, apply a median blur to reduce image noise.
- Use adaptive thresholding to detect and emphasize the edges in an edge mask.
- Finally, combine the color image from step 1 with the edge mask from step 4.
In the upcoming sections, we will learn about the previously mentioned steps in detail. First, we'll learn how to use a bilateral filter for edge-aware smoothing.