lqr_carver_set_side_switch_frequency — set LqrCarver
object side switch frequency
#include <lqr.h>
void lqr_carver_set_side_switch_frequency( | LqrCarver* carver, |
guint switch_frequency) ; |
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
)
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.
to
4