Accumulate

The xFaccumulatefunction adds an image (src1) to the accumulator image (src2), and generates the accumulated result image (dst).

API Syntax

template void xFaccumulate ( xF::Mat src1, xF::Mat src2, xF::Mat dst )

Parameter Descriptions

The following table describes the template and the function parameters.

Table 1.xFaccumulate Function Parameter Descriptions
Parameter Description
SRC_T Input pixel type. Only 8-bit, unsigned, 1 channel is supported (XF_8UC1)
DST_T Output pixel type. Only 16-bit, unsigned, 1 channel is supported (XF_16UC1)
ROWS Maximum height of input and output image (must be a multiple of 8)
COLS Maximum width of input and output image (must be a multiple of 8)
NPC Number of pixels to be processed per cycle; possible options are XF_NPPC1 and XF_NPPC8 for 1 pixel and 8 pixel operations respectively.
src1 Input image
src2 Input image
dst Output image

Resource Utilization

The following table summarizes the resource utilization in different configurations, generated usingVivado HLS 2017.1tool for theXilinx Xczu9eg-ffvb1156-1-i-es1, to process a grayscale HD (1080x1920) image.

Table 2.xFaccumulate Function Resource Utilization Summary
Operating Mode

Operating Frequency (MHz)

Utilization Estimate
BRAM_18K DSP_48E FF LUT CLB
1 pixel 300 0 0 62 55 12
8 pixel 150 0 0 389 285 61

Performance Estimate

The following table summarizes the performance in different configurations, as generated usingVivado HLS 2017.1tool for theXilinx Xczu9eg-ffvb1156-1-i-es1, to process a grayscale HD (1080x1920) image.

Table 3.xFaccumulate Function Performance Estimate Summary
Operating Mode Latency Estimate
Max Latency (ms)
1 pixel operation (300 MHz) 6.9
8 pixel operation (150 MHz) 1.7

Deviation fromOpenCV

In OpenCVthe accumulated image is stored in the second input image. The src2 image acts as both input and output, as shown below:

Whereas, in thexfOpenCVimplementation, the accumulated image is stored separately, as shown below: