Accumulate Weighted
ThexFaccumulateWeighted
function computes the weighted sum of the input image (src1) and the accumulator image (src2) and generates the result in dst.
The accumulated result is a separate argument in the function, instead of having src2 as the accumulated result. In this implementation, having a bi-directional accumulator is not possible, as the function uses streams.
API Syntax
template void xFaccumulateWeighted ( xF::Mat src1, xF::Mat src2, xF::Mat dst, float alpha )
Parameter Descriptions
The following table describes the template and the function parameters.
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 |
alpha | Weight applied to input image |
Resource Utilization
The following table summarizes the resource utilization in different configurations, generated usingVivado HLS 2017.1tool for theXilinx Xczu9eg-ffvb1156-1-i-es1FPGA, to process a grayscale HD (1080x1920) image.
Operating Mode | Operating Frequency (MHz) |
Utilization Estimate | ||||
---|---|---|---|---|---|---|
BRAM_18K | DSP_48Es | FF | LUT | CLB | ||
1 pixel | 300 | 0 | 5 | 295 | 255 | 52 |
8 pixel | 150 | 0 | 19 | 556 | 476 | 88 |
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.
Operating Mode | Latency Estimate |
---|---|
Max Latency (ms) | |
1 pixel operation (300 MHz) | 6.9 |
8 pixel operation (150 MHz) | 1.7 |
Deviation fromOpenCV
The resultant image inOpenCVis stored in the second input image. The src2 image acts as input as well as output, as shown below:
Whereas, inxfOpenCVimplementation, the accumulated weighted image is stored separately.