Convolution
Convolution operations including blur, sharpen, and edge detection.
Function Mapping
| libvips C | Dart Binding | Pipeline Method | PipelineSpec |
|---|---|---|---|
vips_gaussblur() | apiBindings.gaussblur() | pipeline.blur() | spec.blur() |
vips_sharpen() | apiBindings.sharpen() | pipeline.sharpen() | spec.sharpen() |
vips_sobel() | apiBindings.sobel() | pipeline.sobel() | spec.sobel() |
vips_canny() | apiBindings.canny() | pipeline.canny() | spec.canny() |
vips_conv() | convolutionBindings.conv() | - | - |
vips_conva() | convolutionBindings.conva() | - | - |
vips_convsep() | convolutionBindings.convsep() | - | - |
vips_compass() | convolutionBindings.compass() | - | - |
gaussblur
Apply Gaussian blur.
C API
int vips_gaussblur(VipsImage *in, VipsImage **out, double sigma, ...);
Dart Binding
int gaussblur(
Pointer<VipsImage> in1,
Pointer<Pointer<VipsImage>> out,
double sigma,
);
Pipeline API
// Gaussian blur with sigma (higher = more blur)
pipeline.blur(2.0)
// or
pipeline.gaussianBlur(2.0)
Parameters:
sigma- Standard deviation of Gaussian (1.5-2.0 for light blur, 5+ for strong blur)
sharpen
Sharpen an image.
C API
int vips_sharpen(VipsImage *in, VipsImage **out, ...);
Dart Binding
int sharpen(
Pointer<VipsImage> in1,
Pointer<Pointer<VipsImage>> out,
);
Pipeline API
pipeline.sharpen()
sobel
Sobel edge detection.
C API
int vips_sobel(VipsImage *in, VipsImage **out, ...);
Dart Binding
int sobel(
Pointer<VipsImage> in1,
Pointer<Pointer<VipsImage>> out,
);
canny
Canny edge detection.
C API
int vips_canny(VipsImage *in, VipsImage **out, ...);
Dart Binding
int canny(
Pointer<VipsImage> in1,
Pointer<Pointer<VipsImage>> out,
);
conv
General convolution with a kernel.
C API
int vips_conv(VipsImage *in, VipsImage **out, VipsImage *mask, ...);
Dart Binding
int conv(
Pointer<VipsImage> in1,
Pointer<Pointer<VipsImage>> out,
Pointer<VipsImage> mask,
);
Example - Custom blur kernel:
// Create a 3x3 blur kernel
final kernel = createBindings.black(3, 3);
// Set kernel values...
convolutionBindings.conv(input, output, kernel);