MATRIX VISION extends the features of the mvBlueCOUGAR-X family with the 2xx-series.
The frame average functionality, for example, can be used to
- 1. reduce the noise in an image and
- 2. compensate for motion in an image.
The FPGA of the mvBlueCOUGAR-X2xx does the whole work and no host CPU is used. But what happens exactly in the FPGA? Frame Averaging uses an adaptive recursive filter with an average slope. The slope sets the amount of new image versus averaged image in relation to the gray scale variation of the pixel. With it, static noise can be removed at full bit depth and full frame rate:
This method is well known and is used in the same or a similar way in all flat screen televisions. The amount of denoising can be set with the slope factor: the smaller the value, the greater the feedback and therefore the denoising but also the motion blur in the image.
There are no delays with this option because denoising is recursive and the SignalOUT
is extracted before the frame memory.
How can you use this option?
Open wxPropView and select "Setting -> Base -> Camera -> GenICam -> mv Frame Average Control". Set the value "mv Frame Average Enable" to "1". Now, Frame Average is enabled. Afterwards, you can set the slope:
Slope: 256 = 100 % pixel difference = 100 % signal in
With static images, setting average slope to small numbers (10-1000) gives best noise enhancement at the expense of motion blur.
The first image shows detail of an original image with noise and its 12 bit pixel histogram. The second one shows the same detail after denoising and also its 12 bit pixel histogram.
With dynamic images, setting average slope to higher values (1000 – 5000) reduces motion blur at the expense of noise enhancement. This is needed in video applications. If parts of the images are in motion, the motion parts are denoised less than the static parts of the images. This can be compared with the human eye. Human eyes are less sensitive to noise in motion scenes than in static scenes.