There are two tasks involved in the creation of a digital painting. First is the creation of brush stroke positions. The second is the ``rendering'' of brush strokes into pixel values. If the brush stroke positions are manually created by a user, then this is a classic ``paint'' program. If the brush stroke positions are computed algorithmically, then this is an ``automatic'' painting system. In either case, once the brush stroke geometry is known, the brush strokes must be rendered, usually simulating the physical nature of paint and canvas.
This system uses computer vision algorithms and medial axis calculations to compute the brush stroke positions and colors. A modified version of Strassmanns algorithm is then used to simulate the painted brush strokes.
MENUS:File Menu: Open Image File: Opens an image file that will become the source image for the painting. GIF, JPEG and PPM file formats are supported. Open U. P. File: Opens and Under Painting file. This is the image that the paint program will paint on top of. If no under painting file is loaded the painting will be done on a black screen. If you want to draw onto the source image file you will need to load that file as an under painting as well. Quit: Exits the program, and quits Java. Tools Menu: Paint: Runs the Artistic vision algorithms, and renders the resulting brush strokes to the screen. LABELS: Two labels allow the user to view the status and location of the Under Painting and Source Image files. SLIDERS: Segmentation Levels: This slider moves between 2 and 255. This parameter controls the number of gray levels the source image is segmented into during the creation of brush stroke positions. A high value for this parameter results in an image that is very true to the source image, while a low value for this parameter will result in paintings with a more abstract quality. Enhancement Levels: This slider moves between 2 and 255. This parameter controls the number of gray levels the source image is segmented into if the user chooses to enhance part of the image after the initial automatic painting. An enhancement level higher than the segmentation level can "clarify" part of an image by placing more high frequency brush stroke in the selected area. While a value lower than the segmentation level will mask high frequency information behind large brush strokes. Brush Artifact Level: This slider moves between 0 and 100. This parameter controls the amount of brush artifact in each brush stroke. A high value for this parameter results in a large amount of "brush noise" while a low value results in no brush artifact. This process simulates the viscosity of various paints. BUTTONS: C. Strokes On/Off: Runs an algorithm during the paint process that attempts to connect strokes in segmented regions. Paint: Runs the Artistic vision algorithms, and renders the resulting brush strokes to the screen. Quit: Exits the program, and quits Java. MOUSE: When a source image is loaded, either before or after the paint algorithm is run, the user can click and drag on the image screen to select a portion of the image for enhancement. A rubber-banded box will appear on the screen during this time to aid the user in region selection. When the user releases the mouse (mouse up) the selected region is painted using the enhancement parameter as the value for segmentation. |
|
ADDITIONSThe Java 1.2 interface adds an additional button and slider to control an alpha blending parameter. Alpha blending is used to simulate paints of various opacity.SLIDERS: Alpha Percentage: This slider moves between 0 and 100. This parameter controls the percentage of blending between the underpainting and the brush strokes. BUTTONS: A. Blend Off/On: Allows the user to turn alpha blending on or off. |
|
Standard Java File interface. |
|
12 levels of segmentation. | |
48 Levels of segmentation. | |
72 Levels of segmentation. | |
150 Levels of segmentation. |
Source Image. | |
Painting made using the source image as an underpainting. | |
An "artistic" underpainting made by blurring and color changing the original image. | |
Painting made using the "artistic" underpainting. |
Feynman painting, 48 levels of segmentation. | Enhanced areas, 96 levels of segmentation. | Final image. |
10 percent | 40 percent | 70 percent | 100 percent |
62 Strokes | Single Stroke |
Alpha 15 | Alpha 25 | Alpha 35 | Alpha 45 |
Contact: bgooch@cs.utah.edu