liop.h implements *Local Intensity Order Pattern descriptor* (LIOP) of [wang11local]}. LIOP is a local image descriptor, similarly to the SIFT descriptor.
Getting started with LIOP demonstrates how to use the C API to compute the LIOP descriptor of a patch. For further details refer to:
The following code fragment demonstrates how tow to use liop.h in a C program in order to compute the LIOP descriptor of an image patch.
#include <vl/liop.h> // Create a new object instance (these numbers corresponds to parameter // values proposed by authors of the paper, except for 41) vl_size sideLength = 41 ; VlLiopDesc * liop = vl_liopdesc_new_basic (sideLength); // allocate the descriptor array vl_size dimension = vl_liopdesc_get_dimension(liop) ; float * desc = vl_malloc(sizeof(float) * dimension) ; // compute descriptor from a patch (an array of length sideLegnth * // sideLength) vl_liopdesc_process(liop, desc, patch) ; // delete the object vl_liopdesc_delete(liop) ;
The image patch must be of odd side length and in single precision. There are several parameters affecting the LIOP descriptor. An example is the threshold used to discard low-contrast oder pattern in the computation of the statistics. This is changed by using vl_liopdesc_set_intensity_threshold.