MATRIX VISION - mvBlueFOX3 Technical Documentation
Reducing noise by frame averaging

What is frame average?

As the name suggests, the functionality averages the gray values of each pixel using the information of subsequent frames. This can be used to

  • reduce the noise in an image and
  • compensate motion in an image.

MATRIX VISION implemented two modes of the frame averaging:

  • "mvNTo1" and
  • "mvNTo1Sum".

These modes are a FPGA function which will not need any CPU of the host system. However, these modes are only available for the following cameras:

  • mvBlueFOX3-2xxx family.

mvNTo1

mvNTo1 is the mode, when images have to be averaged. To get an averaged pixel, this mode takes the gray value of each pixel of the specified number of subsequent frames ("mv Frame Average Frame Count") and calculates the average. E.g. Averaging of pixel [0,0] using 8 frames ("mv Frame Average Frame Count = 8") will be as follows:

                 Gray_value[0,0,image1] + Gray_value[0,0,image2] + ... + Gray_value[0,0,image8]
Pixel_avg[0,0] = ------------------------------------------------------------------------------
                                                     8

Remarks:

  • When Pixelformat "Mono8/BayerRG8" or "Mono10/BayerRG10" is selected input to the averaging process are images with 8 bit pixel values.
    To avoid missing codes when using Mono10/BayerRG10 at least 4 images must be added.( mvFrameAverageFrameCount = 4 ).
  • For other pixel formats input to the averaging process are images with 12 bit pixel values.

Using wxPropView

Using the frame average mode "mvNTo1", you have to do the following step:

  1. Start wxPropView and
  2. connect to the camera.
  3. Then specify in "Setting -> Base -> Camera -> GenICam -> Device Control" which processing unit of the camera should do the frame averaging, e.g. unit 0 should do the frame averaging
    "mv Device Processing Unit Selector = 0"
    "mv Device Processing Unit = mvFrameAverage".
    Afterwards, "mv Frame Average Control" is available.
  4. Now open "Setting -> Base -> Camera -> GenICam -> mv Frame Average Control" and
  5. select "mv Frame Average Mode = mvNto1".
  6. Select the number of frames you want to use for averaging ("mv Frame Average Frame Count"), e.g. 8.
    This, of course, reduces the frame rate. If you have a frame rate of 8 frames per second and a "mv Frame Average Frame Count" of 8 frames, this will result to a frame rate of 1 Hz.
  7. Activate frame averaging by setting "mv Frame Average Frame Enable = 1".
Figure 1: wxPropView: Setting frame average mode "mvNTo1"

mvNTo1Sum

mvNTo1Sum is a special mode for a defined application. In this mode, the values of the pixel are summed up with the specified number of subsequent frames ("mv Frame Average Frame Count"). E.g. Summing up of pixel [0,0] using 8 frames ("mv Frame Average Frame Count = 8") will be as follows:

Pixel_avg[0,0] = Gray_value[0,0,image1] + Gray_value[0,0,image2] + ... + Gray_value[0,0,image8]

Remarks:

  • In any case "PixelFormat" has to be set to 16 bit
  • Captured images are automatically set to 8 bit
  • These images are added up and not divided
    • 2 images go to 512 (9 bit)
    • 4 images to 1024 (10 bit)
    • 16 images to 4096 (12 bit)
  • Images are always sent with 16 bit, even if the intensity range is smaller.
  • This might be interpreted as dark images, but the greyvalues are right within these 16 bit images.
  • Standard images viewers can show 8 bit only. So in case of 12 bit result, Bit11 .. Bit4 have to be selected for viewing.

Using wxPropView

Using the frame average mode "mvNTo1Sum", you have to do the following step:

  1. Start wxPropView and
  2. connect to the camera.
  3. Then specify in "Setting -> Base -> Camera -> GenICam -> Device Control" which processing unit of the camera should do the frame averaging, e.g. unit 0 should do the frame averaging
    "mv Device Processing Unit Selector = 0"
    "mv Device Processing Unit = mvFrameAverage".
    Afterwards, "mv Frame Average Control" is available.
  4. Now open "Setting -> Base -> Camera -> GenICam -> mv Frame Average Control" and
  5. select "mv Frame Average Mode = mvNTo1Sum".
  6. Select the number of frames you want to use for summing up ("mv Frame Average Frame Count"), e.g. 8.
    This, of course, reduces the frame rate. If you have a frame rate of 8 frames per second and a "mv Frame Average Frame Count" of 8 frames, this will result to a frame rate of 1 Hz.
  7. Activate the mode by setting "mv Frame Average Frame Enable = 1".