![]() |
Liquid rescaling help page |
The Liquid Rescale plugin is an implementation of the content-aware resizing by seam carving algorithm by Shai Avidan and Ariel Shamir. It aims at resizing pictures non uniformly while preserving the features of the picture, i.e. avoiding distortion of the important parts of the picture. It can also be used to remove portions of the picture in a consistent way. It works both ways, but enlarging gives better results if done in successive steps. It can use extra layers as masks to select what features of the image should be preserved and which should be discarded. The plugin works on the active layer or floating selection. If a selection is present, it is saved to a channel. If the layer has a transparency mask, an option is shown to select the behavior (apply/discard). User interface description
![]() Select new width and heightIn this section it is possible to choose the final size. It is advisable to rescale always in one direction at a time. If both the width and the height are changed, rescaling is always performed on the width first, then on the height (for no particular reason). The reverse order can be obtained by simply applying it twice, letting the width unchanged the first time, and the height the second. Feature masksQuick guideThe easiest way to manually select the features of the image that you want to protect or discard is the following:
Note: discarding a feature implies that it will be removed if shrinking the layer, but it will be inflated if enlarging it, since it will be treated as unimportant background which can be removed or expanded as needed. Full description
In the "Feature preservation mask" section
it is possible to specify if there are regions of the image which
should be preserved from modification, by checking the "Activate feature preservation"
box, and by choosing a layer among the ones which belong to the current image (different
from the active one, which is to be rescaled) in the "Available layers" menu.
The "New" button creates a transparent layer with 50% opacity and an appropriate name,
and sets it as the selected layer mask (note that this fails if the plugin is invoked on a
floating selection, because this does not allow to work on other layers).
It also sets the foreground color to green; the previous color is restored when the
dialog is closed.
The intensity of the effect of the mask on each pixel is obtained as
the average on the pixel's color channels, multiplied by the alpha channel. Thus for an RGB layer
with an alpha channel, the maximum value is achieved on white pixels, while black ones
and transparent ones are ignored.
In general, it is advisable to work in monochrome, and modulate the intensity by the transparency
in case fine tuning is needed, e.g. by using the quickmask.
The size and position of the selected layer can be arbitrary, the plugin will only use
those portions which overlap with the active layer.
The "Strength" scale can be used as a global parameter to modulate the feature preservation.
Note that the strength value automatically accounts for the size of the image,
but not for that of the masked areas: thinner selection areas (in the sense of the resizing) need
higher strength values, and vice-versa.
The Feature discard selection section is identical to the previous one, but the effect is reversed. Also, the default color for the "New" button is red instead of green. Output
![]() This page has a number of options related to the output of the plugin. Output on a new layer. Specifies if the resized image should be written on a new layer. By default, it is off. Resize image canvas. Specifies whether the image canvas should be resized to meet the new size of the active layer. If this option is checked, the active layer will be repositioned to be fully visible. By default, it is on. Resize preserve/discard layers. Specifies whether the layers used to manually select the features of the image will be resized along with the active layer. If this option is checked, those layers will be first cropped to the active layer's size, then they will undergo the same seam carving and inserting process as the active layer. By default, it is on, but it is only active when some layers are selected in the "Feature masks" page. Output the seams on a new layer. Specifies whether to create a new layer with the seams map. The seams color range can be manually choosen with the two buttons on the right. The seams are computed on the original layer as far as they are needed for the new size (e.g. there will be 100 seams if reducing or enlarging by 100 pixels), the remaining areas are transparent. In order to read the result, use this option together with Output on a new layer, and overlay the seam map to the original layer. If you rescale in two directions at once, you will obtain two maps, but the second one will be computed over an invisible intermediate image, so this is not very useful. Advanced
![]() This page has some of options to tweak the plugin behavior. Seams rigidity. Use this value to give a negative bias to the seams which are not straight. May be useful to prevent distortions in some situations. Gradient function. It is possible to choose which function is to be used to calculate the energy map of the image. For each pixel in the image, the x,y components of the gradient are computed from the pixel's four nearest neighbors. The exact form of the energy map depends on the choice of the gradient function, and this in turn determines which elements of the image are more important, and should thus be preserved, and which are not, and can be removed (if shrinking) or inflated (if enlarging). Using the Null function in conjunction with the feature preservation mask can be used to override completely the automatic feature detection, thus allowing the user to generate his own energy map (e.g. by another plugin). |