Algorithm: Dr. Dmitriy Vatolin,
Michail Burkhinov, Konstantin Strelnikov
Implementation: Michail Burkhinov
MSU Cartoonizer v 3.0:
Filled Segments Rendering Added
Edge rendering for Faces Improved
Performance Optimized
Preview button Added
MSU Cartoonizer v 2.0:
Colored and non-colored Pencil Drawing
Edge rendering for Painting Improved
Color saturation control Added
Job control Added
MSU Cartoonizer v 1.0:
First public release
The filter is designed for painting, drawing and animated cartoon rendering. MSU Cartoonizer filter has many parameters, which allows to obtain very interesting results. This is the first filter developed by Graphics & Media Lab referring to non-photorealistic rendering area.
Interface of the filter allows to choose Cartoonizing mode. It can be
either "Painting", "Filled Segments" or "Drawing".
Brush Size
Allows to control size of the brush, which painting is made by. Small brushes
make the frame more detailed, thus allowing image to be more realistic. It is
recommended to apply small brushes to the video with small resolution. Large
brushes make the image more blurred, thus increasing non-photorealistic effect.
It is better to apply large brushes to the video with large resolution or in
case when small details are not very important and maximum painting effect is
needed. It is necessary to take into account, that small details may disappear.
Sometimes, to receive better results, it is useful to increase resolution of
the video. It can be done by means of Virtual Dub's internal filter - resize.
Brush Wetness
Controls wetness of a brush. In fact, allows to change accuracy of strokes.
Color Randomization
Adds variety to color luminance of strokes. This setting allows to achieve
better results on monochromatic areas of the image.
Color Saturation
Changes Saturation of resulting image. Usually cartoons are bright and
colorful, this setting allows to increase or decrease level of these
parameters.
Show Edges
This setting allows to render edges using crayon. Options of edge rendering can be modified in Pencil Edge Options.
Number of Segments
Allows to control number of the rendered segments.
Color Saturation
Changes Saturation of resulting image. Usually cartoons are bright and
colorful, this setting allows to increase or decrease level of these
parameters.
Show Edges
This setting allows to render edges using crayon. Options of edge rendering can be modified in Pencil Edge Options.
Pencil Type
Allows to choose the type of a pencil, which a cartoon is rendered by. It may
be Crayon (Colored) or Pencil (Non-Colored).
Number of Edges
Controls the amount of rendered edges.
Edge Brightness
Controls brightness of the edges for non-colored pencil and saturation of the
strokes for colored pencil.
Edge Thickness
Controls edge thickness.
Edge Accuracy
Controls accuracy of edge rendering. The left side of the bar corresponds to
precise strokes.
Use Face Detection
If enabled, this setting allows to improve edge rendering for Faces.
Process each N frame
The new version supports job contol allowing the filter to be used by AviSynth.
Example of a script for Painting:
LoadVirtualDubPlugin("MSU_Cartoonizer.vdf","MSU_Cartoonizer", 0) clip=AVISource("test.avi", false, "RGB24") clip.ConvertToRGB32.MSU_Cartoonizer(0, ShowEdges, EdgeAmount, EdgeBrightness, EdgeThickness, EdgeAccuracy, UseFaceDetection, BrushSize, BrushWetness, ColorRandom, ColorSaturation, ProcessEachNframe)
Example of a script for Filled Segments:
LoadVirtualDubPlugin("MSU_Cartoonizer.vdf", "MSU_Cartoonizer", 0) clip= AVISource("test.avi",false,"RGB24") clip.ConvertToRGB32.MSU_Cartoonizer(1, ShowEdges, EdgeAmount, EdgeBrightness, EdgeThickness, EdgeAccuracy, UseFaceDetection, SegmentAmount, ColorSaturation, ProcessEachNframe)
Example of a script for Drawing:
LoadVirtualDubPlugin("MSU_Cartoonizer.vdf", "MSU_Cartoonizer", 0) clip= AVISource("test.avi",false,"RGB24") clip.ConvertToRGB32.MSU_Cartoonizer(2, PencilType, EdgeAmount, EdgeBrightness, EdgeThickness, EdgeAccuracy, UseFaceDetection, ProcessEachNframe)
E-mail: video@graphics.cs.msu.su