bgr2xyz
function converts a 3-channel BGR image to XYZ color
space.- R= Red channel
- G= Green channel
- B= Blue channel
API Syntax
template<int SRC_T,int DST_T,int ROWS,int COLS,int NPC=1, int XFCVDEPTH_IN = _XFCVDEPTH_DEFAULT, int XFCVDEPTH_OUT = _XFCVDEPTH_DEFAULT>void bgr2xyz(xf::cv::Mat<SRC_T, ROWS, COLS, NPC, XFCVDEPTH_IN> & _src,xf::cv::Mat<DST_T, ROWS, COLS, NPC, XFCVDEPTH_OUT> & _dst)
Parameter Descriptions
The following table describes the template and the function parameters.
Parameter | Description |
---|---|
SRC_T | Input pixel type. Only 8-bit, unsigned, 3-channel is supported (XF_8UC3). |
DST_T | Output pixel type. Only 8-bit, unsigned, 3-channel is supported (XF_8UC3). |
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. |
XFCVDEPTH_IN | Depth of input image |
XFCVDEPTH_OUT | Depth of output image |
_src | BGR input image. |
_dst | XYZ output image. |
Resource Utilization
The following table summarizes the resource utilization of BGR to XYZ for different configurations, as generated in the Vivado HLS 2019.1 version tool for the Xczu9eg-ffvb1156-1-i-es1 FPGA, to process a HD (1080x1920) image.
Operating Mode | Operating Frequency (MHz) | Utilization Estimate | |||
---|---|---|---|---|---|
BRAM_18K | DSP_48Es | FF | LUT | ||
1 Pixel | 300 | 0 | 8 | 644 | 380 |
Performance Estimate
The following table summarizes the performance of BGR to XYZ for different configurations, as generated using the Vivado HLS 2019.1 version tool for the Xczu9eg-ffvb1156-1-i-es1, to process a HD (1080x1920) image.
Operating Mode | Latency Estimate |
---|---|
Max Latency (ms) | |
1 pixel operation (300 MHz) | 6.9 |
RGB/BGR to YCrCb
The (rgb/bgr)2ycrcb
function converts a 3-channel RGB image to YCrCb
color space.
- Y = 0.299*R + 0.587*G + 0.114*B
- Cr= (R-Y)*0.713+delta
- Cb= (B-Y)*0.564+delta
API Syntax
template<int SRC_T,int DST_T,int ROWS,int COLS,int NPC=1, int XFCVDEPTH_IN = _XFCVDEPTH_DEFAULT, int XFCVDEPTH_OUT = _XFCVDEPTH_DEFAULT>void rgb2ycrcb(xf::cv::Mat<SRC_T, ROWS, COLS, NPC, XFCVDEPTH_IN> & _src,xf::cv::Mat<DST_T, ROWS, COLS, NPC, XFCVDEPTH_OUT> & _dst)
template<int SRC_T,int DST_T,int ROWS,int COLS,int NPC=1, int XFCVDEPTH_IN = _XFCVDEPTH_DEFAULT, int XFCVDEPTH_OUT = _XFCVDEPTH_DEFAULT>void bgr2ycrcb(xf::cv::Mat<SRC_T, ROWS, COLS, NPC, XFCVDEPTH_IN> & _src,xf::cv::Mat<DST_T, ROWS, COLS, NPC, XFCVDEPTH_OUT> & _dst)
Parameter Descriptions
The following table describes the template and the function parameters.
Parameter | Description |
---|---|
SRC_T | Input pixel type. Only 8-bit, unsigned, 3-channel is supported (XF_8UC3) |
DST_T | Output pixel type. Only 8-bit, unsigned, 3-channel is supported (XF_8UC3) |
ROWS | Maximum height of input and output image. Must be multiple of 8. |
COLS | Maximum width of input and output image. Must be multiple of 8. |
NPC | Number of pixels to be processed per cycle |
XFCVDEPTH_IN | Depth of input image |
XFCVDEPTH_OUT | Depth of output image |
_src | RGB/BGR input image |
_dst | YCrCb output image |
Resource Utilization
The following table summarizes the resource utilization of RGB/BGR2YCrCb for different configurations, as generated in the Vivado HLS 2019.1 version tool for the Xczu9eg-ffvb1156-1-i-es1 FPGA, to process a HD (1080x1920) image.
Operating Mode | Operating Frequency (MHz) | Utilization Estimate | |||
---|---|---|---|---|---|
BRAM_18K | DSP_48Es | FF | LUT | ||
1 Pixel | 300 | 0 | 5 | 660 | 500 |
Performance Estimate
The following table summarizes the performance of RGB/BGR2YCrCb for different configurations, as generated using the Vivado HLS 2019.1 version tool for the Xczu9eg-ffvb1156-1-i-es1, to process a HD (1080x1920) image.
Operating Mode | Latency Estimate |
---|---|
Max Latency (ms) | |
1 pixel operation (300 MHz) | 6.9 |