lqr_carver_set_side_switch_frequency(3) [debian man page]
LQR_CARVER_SET_SIDE_SWITCH_(3) LqR library API reference LQR_CARVER_SET_SIDE_SWITCH_(3)NAME
lqr_carver_set_side_switch_frequency - set LqrCarver object side switch frequency
SYNOPSIS
#include <lqr.h>
void lqr_carver_set_side_switch_frequency(LqrCarver* carver, guint switch_frequency);
DESCRIPTION
When the function lqr_carver_resize(3) is invoked, it computes a relevance value for each pixel in the image, then chooses the optimal seam
to carve based on such relvance values. However, in the case two seams are equivalent (which may happen when large portions of the image
have the same colour, for example), the algorithm always chooses the seams from one side.
In order to overcome this effect, an option is given to automatically switch the favoured side during rescaling, at the cost of a slightly
worse performance.
The function lqr_carver_set_side_switch_frequency sets the side switch frequency to switch_frequency for the LqrCarver object pointed to by
carver. This will have the effect that, for each rescale operation, the favoured side will be switched switch_frequency times (or as much
times as the number of pixels to rescale).
The default value for newly created LqrCarver objects is 0.
As for the final result, a very small value (e.g. 1 to 4) will normally suffice to balance the left and right side of the image (or the
top and the boddom sides for vertical rescalings), without noticeable computational costs. However, in order to obtain a smoother behaviour
for the visibiliy map, i.e. for the intermediate steps, higher values may be required.
SEE ALSO lqr_carver_set_enl_step(3), lqr_carver_set_resize_order(3), lqr_carver_set_dump_vmaps(3), lqr_carver_set_progress(3),
lqr_carver_set_preserve_input_image(3), lqr_carver_set_use_cache(3)COPYRIGHT
Copyright (C) 2007-2009 Carlo Baldassi
LqR library 0.4.1 API (3:1:3) 10 Maj 2009 LQR_CARVER_SET_SIDE_SWITCH_(3)
Check Out this Related Man Page
LQR_CARVER_BIAS_ADD(3) LqR library API reference LQR_CARVER_BIAS_ADD(3)NAME
lqr_carver_bias_add_xy, lqr_carver_bias_add_area, lqr_carver_bias_add, lqr_carver_bias_add_rgb_area, lqr_carver_bias_add_rgb - update an
LqrCarver bias
SYNOPSIS
#include <lqr.h>
LqrRetVal lqr_carver_bias_add_xy(LqrCarver* carver, gdouble bias, gint x, gint y);
LqrRetVal lqr_carver_bias_add_area(LqrCarver* carver, gdouble* buffer, gint bias_factor, gint width, gint height, gint x_off, gint y_off);
LqrRetVal lqr_carver_bias_add(LqrCarver* carver, gdouble* buffer, gint bias_factor);
LqrRetVal lqr_carver_bias_add_rgb_area(LqrCarver* carver, gdouble* buffer, gint bias_factor, gint channels, gint width, gint height,
gint x_off, gint y_off);
LqrRetVal lqr_carver_bias_add_rgb(LqrCarver* carver, gdouble* buffer, gint bias_factor, gint channels);
FOREWORD
All the functions described in this page are used to add a bias to LqrCarver objects. A positive biased pixel will be more likely to be
avoided by seams, and thus be preserved during rescaling, while a negative bias has the opposite effect.
All of these functions must be called before lqr_carver_resize(3). If called multiple times, the biases added at each call will sum up.
ADDING A BIAS PIXEL BY PIXEL
The function lqr_carver_bias_add_xy adds a bias to the x, y pixel of the image loaded into the LqrCarver object pointed to by carver
A typical value for bias_factor would be 1000 (in absolute value).
ADDING A BIAS FROM A BUFFER
The function lqr_carver_bias_add_area adds a bias to an area of the image loaded into the LqrCarver object pointed to by carver.
The parameter buffer must point to an array of doubles of size width * height, ordered first by rows, then by columns.
The offset of the area relative to the image can be specified through x_off and y_off. The bias area can exceed the boundary of the image,
and the offsets can be negative.
The parameter bias_factor is an overall bias scale. A typical value when the buffer contents are of the order of 1 would be 1000 (in
absolute value).
The function lqr_carver_bias_add can be used when the area to add is of the same size of the image loaded in the LqrCarver object and the
offsets are 0.
ADDING A BIAS FROM AN IMAGE
The functions lqr_carver_bias_add_rgb_area and lqr_carver_bias_add_rgb are very similar to lqr_carver_bias_add_area and
lqr_carver_bias_add, except that they use 8-bit multi-channel images as inputs.
The number of channels in the image is passed via the parameter channels. The last channel is assumed to be the alpha (opacity) channel if
channels is equal to 2 or greater than 3 (if this is not the case, use the previous functions).
The bias is computed from the average of the colour channels, multiplied by the value of the alpha channel if present. For example, in RGBA
images a white, nontransparent pixel is equivalent to a value of 1.0 when using a buffer in lqr_carver_bias_add_area.
RETURN VALUES
The return values follow the Liquid Rescale library signalling system.
SEE ALSO LqrRetVal(3), lqr_carver_init(3), lqr_carver_rigmask_add(3)COPYRIGHT
Copyright (C) 2007-2009 Carlo Baldassi
LqR library 0.4.1 API (3:1:3) 10 Maj 2009 LQR_CARVER_BIAS_ADD(3)