allow gaussblur sigma 0
meaning no blur (obviosuly)
This commit is contained in:
parent
10bada0161
commit
54144a8bc5
@ -6,6 +6,7 @@
|
|||||||
- bump minimum libheif version to 1.3 [lovell]
|
- bump minimum libheif version to 1.3 [lovell]
|
||||||
- dzsave in iiif mode could set info.json dimensions off by one [Linden6]
|
- dzsave in iiif mode could set info.json dimensions off by one [Linden6]
|
||||||
- pdfload allows dpi and scale to both be set [le0daniel]
|
- pdfload allows dpi and scale to both be set [le0daniel]
|
||||||
|
- allow gaussblur sigma zero, meaning no blur
|
||||||
|
|
||||||
9/8/20 started 8.10.1
|
9/8/20 started 8.10.1
|
||||||
- fix markdown -> xml conversion in doc generation
|
- fix markdown -> xml conversion in doc generation
|
||||||
|
@ -4,6 +4,9 @@
|
|||||||
* - from vips_sharpen()
|
* - from vips_sharpen()
|
||||||
* 19/11/14
|
* 19/11/14
|
||||||
* - change parameters to be more imagemagick-like
|
* - change parameters to be more imagemagick-like
|
||||||
|
* 21/9/20
|
||||||
|
* - allow sigma zero, meaning no blur
|
||||||
|
* - sigma < 0.2 is just copy
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -73,7 +76,16 @@ vips_gaussblur_build( VipsObject *object )
|
|||||||
if( VIPS_OBJECT_CLASS( vips_gaussblur_parent_class )->build( object ) )
|
if( VIPS_OBJECT_CLASS( vips_gaussblur_parent_class )->build( object ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
|
|
||||||
if( vips_gaussmat( &t[0], gaussblur->sigma, gaussblur->min_ampl,
|
/* vips_gaussmat() will make a 1x1 pixel mask for anything smaller than
|
||||||
|
* this.
|
||||||
|
*/
|
||||||
|
if( sigma < 0.2 ) {
|
||||||
|
if( vips_copy( gaussblur->in, &t[1], NULL ) )
|
||||||
|
return( -1 );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if( vips_gaussmat( &t[0],
|
||||||
|
gaussblur->sigma, gaussblur->min_ampl,
|
||||||
"separable", TRUE,
|
"separable", TRUE,
|
||||||
"precision", gaussblur->precision,
|
"precision", gaussblur->precision,
|
||||||
NULL ) )
|
NULL ) )
|
||||||
@ -90,6 +102,7 @@ vips_gaussblur_build( VipsObject *object )
|
|||||||
"precision", gaussblur->precision,
|
"precision", gaussblur->precision,
|
||||||
NULL ) )
|
NULL ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
|
}
|
||||||
|
|
||||||
g_object_set( object, "out", vips_image_new(), NULL );
|
g_object_set( object, "out", vips_image_new(), NULL );
|
||||||
|
|
||||||
@ -132,7 +145,7 @@ vips_gaussblur_class_init( VipsGaussblurClass *class )
|
|||||||
_( "Sigma of Gaussian" ),
|
_( "Sigma of Gaussian" ),
|
||||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||||
G_STRUCT_OFFSET( VipsGaussblur, sigma ),
|
G_STRUCT_OFFSET( VipsGaussblur, sigma ),
|
||||||
0.01, 1000, 1.5 );
|
0.0, 1000, 1.5 );
|
||||||
|
|
||||||
VIPS_ARG_DOUBLE( class, "min_ampl", 3,
|
VIPS_ARG_DOUBLE( class, "min_ampl", 3,
|
||||||
_( "Minimum amplitude" ),
|
_( "Minimum amplitude" ),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user