ColorLine


Author V. C. Mohan
Date Sep 14, 2005

Coloring thin (a pixel wide) lines is a problem for "colordrops" or "colorbrush" or other similar schemes. Colorline is primarily for that application. Given a starting seed point on the line on a mask clip, it will completely trace the line and color the input clip without regard to the original grey value. ColorLine can also be used to fill an area provided at least a two pixel wide demarcation surrounds, as otherwise color may leak into surroundings. Different lines on a frame with different colors may be specified in a single call, as parameter 5 is an array of x and y coordinates and color. Color can be specified in RRGGBB format or in xxYYUUVV format (xx being any non zero value).

To facilitate easy coloring of lines/objects moving linearly frame to frame, parameters 'movex'and and 'movey' can be used. The coordinates of start point for each frame is calculated as linearly varying from (x, y) at start frame to (x+movex, y+movey) at End Frame.

Further if pshow is true, the initial seed Points are shown in pcolor on the output. This is very useful in optimizing the coordinates.

RGB32, RGB24, YUY2 and YV12 formats only.

Details of parameters
Description Name Type Limits Default
Input clip to be colored clip none
Mask clip clip none
Starting frame number to process integer within clip none
End frame number to process integer within clip and not less than sf none
the following is an array of sets, each set having 3 values
first element of set: seed point x coordinate integer within frame none
Second element of set: seed point y coordinate integer within frame none
Third element of set: Color value of line integer RRGGBB format or XXYYUUVV none
Is seed point to be shown? pshow boolean true yes or false for no false
color to be used for showing the point pcol integer RRGGBB format 0
change in x from start frame to end frame movex integer point must remain in frame 0
change in y from start frame to end frame movey integer point must remain in frame 0

Usage examples:-
# for two lines on frame 5 moving linearly upto frame 27
Colorline(bw,mask,5,27, 10,345,$ff,250,415,$ff,movex=40, movey=-55)
#for several lines on a single frame. Note last two colors are in yyuuvv format by having a bit in higher value
Colorline(BW,5,7,0,220,$5f6f,40,240,$ff,120,240,$f09c,150,230,$1082564,180,210,$124ffff)
Example below draws  cross lines on image using a mask with cross lines.
 cl = colorline(cb,msk3,0,19,10,250,$ff00FF)
stackhorizontal(msk3, cl)



To Colorit Synopsis
To my index page
down load plugin
To Avisynth