Image Filtering & Neighborhood Processing

The Wolfram Language not only includes highly optimized implementations of standard image processing filters, but also uses its general symbolic architecture to allow arbitrarily sophisticated filtering and neighborhood processing strategies to be set up using the full mathematical and algorithmic power of the Wolfram Language.

Linear Filters

Blur, Sharpen blur, sharpen over a range

GaussianFilter Gaussian and Gaussian derivatives filter

GradientFilter  ▪  GradientOrientationFilter

LaplacianGaussianFilter  ▪  LaplacianFilter  ▪  MeanFilter  ▪  WienerFilter  ▪  RidgeFilter  ▪  GaborFilter

ImageConvolve, ImageCorrelate general linear convolution, correlation

DerivativeFilter general-order derivative filter

Nonlinear Filters

MedianFilter  ▪  MinFilter  ▪  MaxFilter  ▪  CommonestFilter  ▪  RangeFilter

EntropyFilter  ▪  StandardDeviationFilter  ▪  HarmonicMeanFilter  ▪  GeometricMeanFilter  ▪  KuwaharaFilter

BilateralFilter  ▪  MeanShiftFilter

PeronaMalikFilter  ▪  CurvatureFlowFilter

Nonlocal Filters

ImageDeconvolve  ▪  TotalVariationFilter

Frequency-Based Filters

LowpassFilter  ▪  HighpassFilter  ▪  BandpassFilter  ▪  BandstopFilter  ▪  DifferentiatorFilter  ▪  HilbertFilter

Region-of-Interest Processing

Masking specify the region of interest to which filters will be applied

General Neighborhood Processing

ImageFilter apply an arbitrary function to blocks of pixel values

Convolution Kernels »

DiskMatrix  ▪  BoxMatrix  ▪  DiamondMatrix  ▪  CrossMatrix  ▪  GaussianMatrix  ▪  ...

List-Based Operations »

ImageData extract an array of data from an image

Partition generalized partitioning

ArrayFlatten  ▪  ListConvolve  ▪  ListDeconvolve  ▪  Fourier  ▪  FourierDCT

CellularAutomaton general cellular automaton