table of contents
other versions
- wheezy 0.4.1-2
LQR_CARVER_SET_ENERGY_FUNCT(3) | LqR library API reference | LQR_CARVER_SET_ENERGY_FUNCT(3) |
NAME¶
lqr_carver_bias_set_energy_function - set a custom energy function for a LqrCarver objectSYNOPSIS¶
#include <lqr.h>
LqrRetVal
lqr_carver_set_energy_function(LqrCarver* carver,
LqrEnergyFunc en_func, gint radius,
LqrEnergyReaderType reader_type,
gpointer extra_data);
DESCRIPTION¶
The function lqr_carver_set_energy_function assigns the energy function en_func to the LqrCarver object pointed to by carver (see below for more details on custom functions definitions). The parameter radius determines the size of the square region which affects the computation around each pixel (the side of the square will be 2 * radius + 1 pixels long). The parameter reader_type sets the reader type used when reading the image, and therefore it determines what quantity will be passed on to the function en_func (see below for more details on reader types). The parameter extra_data is a (void) pointer which can be used to pass on additional values to the function ef_func.CUSTOM FUNCTIONS DEFINITION¶
The function en_func must be of type LqrEnergyFunc, whose prototype is defined by:typedef gfloat (*LqrEnergyFunc) (gint x, gint y, gint img_width, gint img_height, LqrReadingWindow * rwindow, gpointer extra_data);
READER TYPES¶
The LqrEnergyReaderType is an enum which can take these values (also noted is the number of channels of the corresponging reading window): LQR_ER_BRIGHTNESSbrightness (1 channel)
LQR_ER_BRIGHTNESS
luma (1 channel)
LQR_ER_RGBA
RGBA (4 channels)
LQR_ER_CUSTOM
read the normalised image channels as they are
(as many channels as the image has)
These readouts always return values beetween 0 and 1.
Note that these readouts may have special meanings depending on the image type:
•for LQR_GREY_IMAGE, LQR_GREYA_IMAGE and
LQR_CUSTOM_IMAGE images, the LQR_ER_LUMA readout will yield the same result as
LQR_ER_BRIGHTNESS
•for LQR_CUSTOM_IMAGE images, the
LQR_ER_BRIGHTNESS readout will return the average pixel value (additive, i.e.
if a black channel is present the channel values will be inverted and
multiplied by the black channel inverse), multiplied by the alpha channel
value.
•for LQR_CUSTOM_IMAGE images, the
LQR_ER_RGBA readout cannot be used: it will always return 0
RETURN VALUE¶
The return value follows the Liquid Rescale library signalling system.SEE ALSO¶
COPYRIGHT¶
Copyright © 2007-2009 Carlo Baldassi10 Maj 2009 | LqR library 0.4.1 API (3:1:3) |