---
title: Convolving and applying morphology
framework: accelerate
role: collectionGroup
role_heading: API Collection
path: accelerate/convolving-and-applying-morphology
---

# Convolving and applying morphology

Apply convolution, dilation, or erosion to a pixel buffer.

## Topics

### Morphology

- [applyMorphology(operation:destination:)](accelerate/vimage/pixelbuffer/applymorphology(operation:destination:)-2bbx4.md)
- [applyMorphology(operation:destination:)](accelerate/vimage/pixelbuffer/applymorphology(operation:destination:)-9f8lh.md)
- [applyMorphology(operation:destination:)](accelerate/vimage/pixelbuffer/applymorphology(operation:destination:)-1wacj.md)
- [applyMorphology(operation:destination:)](accelerate/vimage/pixelbuffer/applymorphology(operation:destination:)-65xg3.md)
- [vImage.MorphologyOperation](accelerate/vimage/morphologyoperation.md)
- [vImage.StructuringElement](accelerate/vimage/structuringelement.md)

### General convolution

- [convolve(with:divisor:bias:edgeMode:destination:)](accelerate/vimage/pixelbuffer/convolve(with:divisor:bias:edgemode:destination:)-4o5w6.md)
- [convolve(with:bias:edgeMode:useFloat16Accumulator:destination:)](accelerate/vimage/pixelbuffer/convolve(with:bias:edgemode:usefloat16accumulator:destination:)-1xkvu.md)
- [convolve(with:bias:edgeMode:destination:)](accelerate/vimage/pixelbuffer/convolve(with:bias:edgemode:destination:)-tn07.md)
- [convolve(with:divisor:bias:edgeMode:destination:)](accelerate/vimage/pixelbuffer/convolve(with:divisor:bias:edgemode:destination:)-1oul9.md)
- [convolve(with:divisors:biases:edgeMode:destination:)](accelerate/vimage/pixelbuffer/convolve(with:divisors:biases:edgemode:destination:).md)
- [convolve(with:bias:edgeMode:useFloat16Accumulator:destination:)](accelerate/vimage/pixelbuffer/convolve(with:bias:edgemode:usefloat16accumulator:destination:)-81lqa.md)
- [convolve(with:bias:edgeMode:destination:)](accelerate/vimage/pixelbuffer/convolve(with:bias:edgemode:destination:)-8syhw.md)
- [convolve(with:divisor:bias:edgeMode:destination:)](accelerate/vimage/pixelbuffer/convolve(with:divisor:bias:edgemode:destination:)-4jjbx.md)
- [convolve(with:bias:edgeMode:destination:)](accelerate/vimage/pixelbuffer/convolve(with:bias:edgemode:destination:)-3219s.md)
- [vImage.EdgeMode](accelerate/vimage/edgemode.md)
- [vImage.ConvolutionKernel2D](accelerate/vimage/convolutionkernel2d.md)

### Separable convolution

- [separableConvolve(horizontalKernel:verticalKernel:bias:edgeMode:destination:)](accelerate/vimage/pixelbuffer/separableconvolve(horizontalkernel:verticalkernel:bias:edgemode:destination:)-2iyq6.md)
- [separableConvolve(horizontalKernel:verticalKernel:bias:edgeMode:useFloat16Accumulator:destination:)](accelerate/vimage/pixelbuffer/separableconvolve(horizontalkernel:verticalkernel:bias:edgemode:usefloat16accumulator:destination:).md)
- [separableConvolve(horizontalKernel:verticalKernel:bias:edgeMode:destination:)](accelerate/vimage/pixelbuffer/separableconvolve(horizontalkernel:verticalkernel:bias:edgemode:destination:)-2qofv.md)
- [separableConvolve(horizontalKernel:verticalKernel:bias:edgeMode:destination:)](accelerate/vimage/pixelbuffer/separableconvolve(horizontalkernel:verticalkernel:bias:edgemode:destination:)-6t9b3.md)
- [separableConvolve(horizontalKernel:verticalKernel:bias:edgeMode:destination:)](accelerate/vimage/pixelbuffer/separableconvolve(horizontalkernel:verticalkernel:bias:edgemode:destination:)-6q5ro.md)
- [vImage.ConvolutionKernel](accelerate/vimage/convolutionkernel.md)

### Box convolution

- [boxConvolve(kernelSize:edgeMode:destination:)](accelerate/vimage/pixelbuffer/boxconvolve(kernelsize:edgemode:destination:)-2h7fy.md)
- [boxConvolve(kernelSize:edgeMode:destination:)](accelerate/vimage/pixelbuffer/boxconvolve(kernelsize:edgemode:destination:)-2m20d.md)
- [boxConvolved(kernelSize:edgeMode:)](accelerate/vimage/pixelbuffer/boxconvolved(kernelsize:edgemode:).md)
- [boxConvolve(kernelSize:edgeMode:destination:)](accelerate/vimage/pixelbuffer/boxconvolve(kernelsize:edgemode:destination:)-3kabm.md)

### Tent convolution

- [tentConvolve(kernelSize:edgeMode:destination:)](accelerate/vimage/pixelbuffer/tentconvolve(kernelsize:edgemode:destination:)-1fpap.md)
- [tentConvolve(kernelSize:edgeMode:destination:)](accelerate/vimage/pixelbuffer/tentconvolve(kernelsize:edgemode:destination:)-150xp.md)
- [tentConvolved(kernelSize:edgeMode:)](accelerate/vimage/pixelbuffer/tentconvolved(kernelsize:edgemode:).md)
- [tentConvolve(kernelSize:edgeMode:destination:)](accelerate/vimage/pixelbuffer/tentconvolve(kernelsize:edgemode:destination:)-2dp48.md)

## See Also

### Pixel buffer operations

- [Applying geometric operations to pixel buffers](accelerate/applying-geometric-operations-to-pixel-buffers.md)
- [Applying color transforms to pixel buffers](accelerate/applying-color-transforms-to-pixel-buffers.md)
- [Blending and compositing pixel buffers](accelerate/blending-and-compositing-pixel-buffers.md)
- [Thresholding and clipping pixel buffer values](accelerate/thresholding-and-clipping-pixel-buffer-values.md)
- [Calculating and transforming histograms](accelerate/calculating-and-transforming-histograms.md)
- [Converting pixel buffers](accelerate/converting-pixel-buffers.md)
- [Interleaving and deinterleaving pixel buffers](accelerate/interleaving-and-deinterleaving-pixel-buffers.md)
- [Cropping and working with regions of interest](accelerate/cropping-and-working-with-regions-of-interest.md)
- [Applying channel operations](accelerate/applying-channel-operations.md)
- [Applying arithmetic operations](accelerate/applying-arithmetic-operations.md)
