image thumbnail

Kinect Depth Normalization

version (127 KB) by Atif Anwer
Fills in '0' depth value in kinect depth image with statistical mode of surrounding 25 values


Updated 12 Sep 2014

View License

The kinect depth image has pixels with values equal to the calculated depth of object/surface in view. However, areas that absorb or scatter the kinect IR (like glossy surfaces or sharp edges) are filled with zero pixel value (indicating non-calculated depth). These regions with the missing information, represented by zero values, need to be filled prior to using the depth images. This filling process is done by replacing the zero value pixels with the statistical mode of the surrounding 25 pixels. Using a statistical mode returns sharper edges than using statistical mean values, since mode only inserts the maximum occurring value in the surrounding 25 pixels to the centre pixel.

Usage: [Q,R]=Kinect_DepthNormalization(depthImage)

Function Input: Kinect depth image (16-bit png)

Function Output: depth image with zero valued replaced , Number of zero pixels detected in the image.

The code is a matlab implementation of the algorithm used by Karl Sanford at Code Project (

Cite As

Atif Anwer (2022). Kinect Depth Normalization (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2014a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!