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
       puzzle_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
       vectors.	 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
       positives,  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  differ-
       ences 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
       default value is	5. Less	shaves less, more shaves more.

       puzzle_set_max_cropping_ratio()	This  is a safe-guard against unwanted
       excessive 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.0>

home | help