Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NAME
     puzzle_set_max_width,	 puzzle_set_max_height,      puzzle_set_lambdas,
     puzzle_set_p_ratio,				puzzle_set_noise_cutoff,
     puzzle_set_contrast_barrier_for_cropping,	  puzzle_set_max_cropping_ratio,
     puzzle_set_autocrop -- set tunables for libpuzzle functions.

SYNOPSIS
     #include <puzzle.h>

     int
     puzzle_set_max_width(PuzzleContext *context, unsigned int width);

     int
     puzzle_set_max_height(PuzzleContext *context, unsigned int height);

     int
     puzzle_set_lambdas(PuzzleContext *context, unsigned int lambdas);

     int
     puzzle_set_p_ratio(PuzzleContext *context, double p_ratio);

     int
     puzzle_set_noise_cutoff(PuzzleContext *context, double noise_cutoff);

     int
     puzzle_set_contrast_barrier_for_cropping(PuzzleContext *context,
	 double barrier);

     int
     puzzle_set_max_cropping_ratio(PuzzleContext *context, double ratio);

     int
     puzzle_set_autocrop(PuzzleContext *context, int enable);

DESCRIPTION
     While default values have been chosen to be ok for most  people,  the  puz-
     zle_set_*()  functions  are  knobs to fit the algorithm to your set of data
     and to your applications.

LAMBDAS
     By default, pictures are divided in 9 x 9 blocks.

     9 is the lambdas value, and it can be changed with puzzle_set_lambdas()

     For large databases, for complex images, for images with a lot of	text  or
     for  sets of near-similar images, it might be better to raise that value to
     11 or even 13

     However, raising that value obviously means that vectors will require  more
     storage space.

     The  lambdas  value  should remain the same in order to get comparable vec-
     tors. So if you pick 11 (for instance), you should always	use  that  value
     for all pictures you will compute a digest for.  puzzle_set_p_ratio()

     The average intensity of each block is based upon a small centered zone.

     The  "p  ratio"  determines  the size of that zone. The default is 2.0, and
     that ratio mimics the behavior that is described  in  the	reference  algo-
     rithm.

     For very specific cases (complex images) or if you get too many false posi-
     tives,  as  an alternative to increasing lambdas, you can try to lower that
     value, for instance to 1.5.

     The lowest acceptable value is 1.0.

MAXIMUM SIZES
     In order to avoid CPU starvation, pictures  won't	be  processed  if  their
     width or height is larger than 3000 pixels.

     These  limits  are  rather  large, but if you ever need to change them, the
     puzzle_set_max_width() and puzzle_set_max_height() are available.

NOISE CUTOFF
     The noise cutoff defaults to 2. If you raise that value,  more  zones  with
     little difference of intensity will be considered as similar.

     Unless  you have very specialized sets of pictures, you probably don't want
     to change this.

AUTOCROP
     By default, featureless borders of the original image are ignored. The size
     of each border depends on the sum of absolute values of differences between
     adjacent pixels, relative to the total sum.

     That feature can be disabled with puzzle_set_autocrop(0)  Any  other  value
     will enable it.

     puzzle_set_contrast_barrier_for_cropping()  changes  the tolerance. The de-
     fault value is 5. Less shaves less, more shaves more.

     puzzle_set_max_cropping_ratio() This is a safe-guard against  unwanted  ex-
     cessive auto-cropping.

     The  default  (0.25)  means  that	no  more than 25% of the total width (or
     height) will ever be shaved.

RETURN VALUE
     Functions return 0 on success, and -1 if something went wrong.

SEE ALSO
     libpuzzle(3) puzzle-diff(8)

			       September 24, 2007		   PUZZLE_SET(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=puzzle_set&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help