Generating fully bounded areas (output from MaskMaker, Emarker or any other method) to be used as a mask, for coloring areas is ideal. However in many instances the boundaries have gaps and color leakages can occur. One way of filling these gaps is by morphing procedures known as "erode", "dilate", "close" and "open". "close" is an "erode" followed by "dilate" while "open" is "dilate" followed by "erode".
Some times the boundaries marked are too thick. Option "thin" thins out the mask lines to a pixel wide lines (This is also known as skelton used often in finger print image processing). The masks may have noise (salt) as unconnected individual white points. This can be corrected by "salt" option. The input to these procedures normally is a mask clip (generated by MaskMaker or Emarker or any other method).
There are other morphing methods to generate boundary lines on an image. Some of the other options may be tried for that purpose.
Morpher, in addition to the above options has also other options which work on an input grey scale clip. These are:
Option "vale" draws all the valleys in the image .
Option "ridge" marks out the ridges.
Option "rorv" shows both ridges and valleys together.
Option 'flood' shows all pixels below the lower threshold and all valleys.
Option "drain" shows all pixels above upper threshold and all ridges.
Option "ford" shows all pixels lying between upper and lower thresholds and all valleys and ridges.
Option "salt" erases unconnected white points from a mask frame
Option "pepper" erases unconnected black points from a mask frame.
Flood, drain and ford options have a test facility wherein a particular frame is repeatedly processed with linearly varying applicable parameters.
Morphing can be limited to a rectangular window size and position of which can linearly change in the range of frames.
RGB32, RGB24, YUY2 and YV12 formats only are supported.
Description | Name | Type | Limits | Default |
Input clip | clip | none | ||
Starting frame number to process or frame number to test | sf | integer | within clip | 0 |
End frame number to process or number of test steps | ef | integer | within clip and not less than sf | last frame |
Type of morphing | type | string | "dilate" "erode" "close" "open" "thin" "ridge" "vale" "rorv" "flood" "drain" "ford" "salt" "pepper" | "close" |
Process window left x at start frame | lx | integer | within frame, less than rx | 0 |
Process window top y at start frame | ty | integer | within frame, less than by | 0 |
Process window right x at start frame | rx | integer | within clip, more than lx | frame width-1 |
Process window bottom y at start frame | by | integer | within frame, more than ty | frame height-1 |
Process window left x at end frame | elx | integer | within frame, less than erx | lx |
Process window top y at end frame | ety | integer | within clip, less than eby | ty |
Process window right x at end frame | erx | integer | within clip, more than elx | rx |
Process window bottom y at end frame | eby | integer | within frame, more than ety | by |
lower threshold at start frame | lt | integer | 0 to 255 | 0 |
upper threshold at start frame | ut | integer | 0 to 255, more than lt and for flood 255 | 255 |
Is this a test? | test | boolean | true or false | false |
lower threshold at end frame | flt | integer | 0 to 255 | 0 |
upper threshold at end frame | flt | integer | 0 to 255, more than flt and for flood 255 | 255 |
To Colorit Synopsis | |||
To my index page | |||
down load plugin | |||
To Avisynth |