friday-0.2.1.0: A functional image processing library for Haskell.

Safe HaskellNone
LanguageHaskell2010

Vision.Detector.Edge

Synopsis

Documentation

canny Source

Arguments

:: (Image src, Integral (ImagePixel src), Bounded res, Eq res, Storable res) 
=> Int

Radius of the Sobel's filter.

-> Int32

Low threshold. Pixels for which the bidirectional derivative is greater than this value and which are connected to another pixel which is part of an edge will be part of this edge.

-> Int32

High threshold. Pixels for which the bidirectional derivative is greater than this value will be part of an edge.

-> src 
-> Manifest res 

Detects edges using the Canny's algorithm. Edges are given the value maxBound while non-edges are given the value minBound.

This implementation doesn't perform any noise erasing (as blurring) before edge detection. Noisy images might need to be pre-processed using a Gaussian blur.

The bidirectional derivative (gradient magnitude) is computed from x and y derivatives using sqrt(dx² + dy²).

See http://en.wikipedia.org/wiki/Canny_edge_detector for details.

This function is specialized for Grey images but is declared INLINABLE to be further specialized for new image types.