stuff
This commit is contained in:
parent
526b441d5f
commit
297890cebd
@ -394,7 +394,7 @@ im_rank_raw( IMAGE *in, IMAGE *out, int xsize, int ysize, int order )
|
|||||||
* @out: output image
|
* @out: output image
|
||||||
* @width: window width
|
* @width: window width
|
||||||
* @height: window height
|
* @height: window height
|
||||||
* @order: select which
|
* @order: select pixel
|
||||||
*
|
*
|
||||||
* im_rank() does rank filtering on an image. A window of size @width by
|
* im_rank() does rank filtering on an image. A window of size @width by
|
||||||
* @height is passed over the image. At each position, the pixels inside the
|
* @height is passed over the image. At each position, the pixels inside the
|
||||||
|
@ -1,14 +1,10 @@
|
|||||||
/* @(#) Sort a set of images, pixelwise, and pick out the index at each point.
|
/* Sort a set of images, pixelwise, and pick out the index at each point.
|
||||||
* @(#)
|
|
||||||
* @(#) int im_rank_image( imarray, imout, no, index )
|
|
||||||
* @(#) IMAGE *imarray[], *imout;
|
|
||||||
* @(#) int no, index;
|
|
||||||
* @(#)
|
|
||||||
* @(#) All functions return 0 on success and -1 on error
|
|
||||||
* @(#)
|
|
||||||
*
|
*
|
||||||
* 19/8/03
|
* 19/8/03
|
||||||
* - from im_maxvalue(), via im_gbandjoin()
|
* - from im_maxvalue(), via im_gbandjoin()
|
||||||
|
* 10/11/10
|
||||||
|
* - gtkdoc
|
||||||
|
* - cleanups
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -269,10 +265,28 @@ rank_gen( REGION *or, void *vseq, void *a, void *b )
|
|||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* pair-wise rank of a vector of image descriptors.
|
/**
|
||||||
|
* im_rank_image:
|
||||||
|
* @in: input image array
|
||||||
|
* @out: output image
|
||||||
|
* @n: number of input images
|
||||||
|
* @order: select pixel
|
||||||
|
*
|
||||||
|
* im_rank_image() sorts the input images pixel-wise, then outputs an image
|
||||||
|
* in which each pixel is selected from the sorted list by the
|
||||||
|
* @order parameter. For example, if @order
|
||||||
|
* is zero, then each output pixel will be the minimum of all the
|
||||||
|
* corresponding input pixels.
|
||||||
|
*
|
||||||
|
* It works for any uncoded, non-complex image type. All input images must
|
||||||
|
* match in size, format, and number of bands.
|
||||||
|
*
|
||||||
|
* See also: im_rank(), im_maxvalue().
|
||||||
|
*
|
||||||
|
* Returns: 0 on success, -1 on error
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
im_rank_image( IMAGE **in, IMAGE *out, int n, int index )
|
im_rank_image( IMAGE **in, IMAGE *out, int n, int order )
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
Rank *rank;
|
Rank *rank;
|
||||||
@ -281,7 +295,7 @@ im_rank_image( IMAGE **in, IMAGE *out, int n, int index )
|
|||||||
im_error( "im_rank_image", "%s", _( "zero input images!" ) );
|
im_error( "im_rank_image", "%s", _( "zero input images!" ) );
|
||||||
return( -1 );
|
return( -1 );
|
||||||
}
|
}
|
||||||
if( index < 0 || index > n - 1 ) {
|
if( order < 0 || order > n - 1 ) {
|
||||||
im_error( "im_rank_image",
|
im_error( "im_rank_image",
|
||||||
_( "index should be in range 0 - %d" ), n - 1 );
|
_( "index should be in range 0 - %d" ), n - 1 );
|
||||||
return( -1 );
|
return( -1 );
|
||||||
@ -297,7 +311,7 @@ im_rank_image( IMAGE **in, IMAGE *out, int n, int index )
|
|||||||
im_check_bands_same( "im_rank_image", in[i], in[0] ) )
|
im_check_bands_same( "im_rank_image", in[i], in[0] ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
|
|
||||||
if( !(rank = rank_new( in, out, n, index )) ||
|
if( !(rank = rank_new( in, out, n, order )) ||
|
||||||
im_cp_desc_array( out, rank->in ) ||
|
im_cp_desc_array( out, rank->in ) ||
|
||||||
im_demand_hint_array( out, IM_THINSTRIP, rank->in ) ||
|
im_demand_hint_array( out, IM_THINSTRIP, rank->in ) ||
|
||||||
im_generate( out,
|
im_generate( out,
|
||||||
@ -307,6 +321,25 @@ im_rank_image( IMAGE **in, IMAGE *out, int n, int index )
|
|||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* im_maxvalue:
|
||||||
|
* @in: input image array
|
||||||
|
* @out: output image
|
||||||
|
* @n: number of input images
|
||||||
|
*
|
||||||
|
* im_maxvalue() sorts the input images pixel-wise, then outputs an image
|
||||||
|
* in which each pixel is
|
||||||
|
* @order parameter. For example, if @order
|
||||||
|
* is zero, then each output pixel will be the minimum of all the
|
||||||
|
* corresponding input pixels.
|
||||||
|
*
|
||||||
|
* It works for any uncoded, non-complex image type. All input images must
|
||||||
|
* match in size, format, and number of bands.
|
||||||
|
*
|
||||||
|
* See also: im_rank(), im_maxvalue().
|
||||||
|
*
|
||||||
|
* Returns: 0 on success, -1 on error
|
||||||
|
*/
|
||||||
int
|
int
|
||||||
im_maxvalue( IMAGE **in, IMAGE *out, int n )
|
im_maxvalue( IMAGE **in, IMAGE *out, int n )
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user