Surface Gradient

The Surface Gradient module provides a way to highlight the intensity gradient within an image. Often due to shadows and other lighting distortions the actual intensity value of an object can change. The gradient or direction caused by the intrinsic intensity of color of the object stays relatively the same under these circumstance. Using the Surface Gradient module it is possible to highlight gradients of a specific angle that can be used for successive processing.

A surface gradient is similar to an edge but instead operates specifically on the direction of the slope of that edge. Instead of generating a high pixel value when a high transition ( like white to black) occurs as is done in an edge detection routine the Surface Gradient module looks at the normal of the planar surface created by that same edge. Thus a direction of gradient (0 - 360) becomes the most relevant result of gradient detection. Note that even edges that are small in transition (i.e. gray to black) will still cause a planar surface with a gradient at a particular direction. This ability is one of the Surface Gradient's advantage over the edge detector in that it is not as dependant on actual image intensity.



1. Gradient Direction - Specify the gradient's degree that you want to highlight. This is not unlike adjusting the desired lighting direction to highlight a particular gradient. For example, specifying 90 will cause those surface areas of a gradient of 90 to become mostly white (255) with other gradients further from 90 degrees being represented with a darker intensity.

2. Blur - To reduce noise within the image it is recommended to blur the image slightly. This will help to reduce the spurious surface gradients caused mostly by noise and produce a smoother gradient image.

3. Noise Filter - To further reduce gradients whose angles are created from low intensity gradients you can set a gradient threshold to exclude those surface patches whose gradient vector strength is not significant. Increasing the noise filter value will cause only those gradients with high a high intensity shift to be considered. Note this value depends on the intensity of the image and thus is not invarient to intensity changes.

4. Surface Patch - To average a gradient over a larger patch size in order to smooth the gradient you can increase the gradient patch size under consideration. Increasing this value has a similar effect to increasing the blur but has a more accurate representation but at the cost of CPU processing.


SourceSurface Gradient

The example above shows how the steps can be highlighted using a gradient of 180 or 0. This image can then be thresholded to better isolate the staircase.

See Also

Sobel Edge

 New Post 

Surface_Gradient Related Forum PostsLast postPostsViews