55 #ifndef _XF_HARRIS_CONFIG_H_
56 #define _XF_HARRIS_CONFIG_H_
58 #include "hls_stream.h"
60 #include "common/xf_common.hpp"
61 #include "common/xf_utility.hpp"
62 #include "features/xf_harris.hpp"
65 #include "../../../../../HOST/vision/harris/languages/cplusplus/include/config.h"
67 #ifdef USE_HLSLIB_STREAM
68 #include "../../../../../hlslib/include/hlslib/xilinx/Stream.h"
74 #include "imgproc/xf_gammacorrection.hpp"
83 #define CH_TYPE XF_GRAY
84 #define INPUT_PTR_WIDTH 8
85 #define OUTPUT_PTR_WIDTH 64
97 #define WIDTH FRAME_WIDTH
98 #define HEIGHT FRAME_HEIGHT
100 #define IMGSIZE FRAME_TOTAL
102 #define BITS_PER_10GBITETHRNET_AXI_PACKET 64
103 #define BYTES_PER_10GBITETHRNET_AXI_PACKET (BITS_PER_10GBITETHRNET_AXI_PACKET/8)
105 #define IMG_PACKETS IMGSIZE/(BYTES_PER_10GBITETHRNET_AXI_PACKET)
107 #define MIN_RX_LOOPS IMG_PACKETS*(BITS_PER_10GBITETHRNET_AXI_PACKET/INPUT_PTR_WIDTH)
108 #define MIN_TX_LOOPS IMG_PACKETS*(BITS_PER_10GBITETHRNET_AXI_PACKET/OUTPUT_PTR_WIDTH)
110 #define IN_TYPE XF_8UC1
111 #define OUT_TYPE XF_8UC1
124 void harris_accel(xf::cv::Mat<XF_8UC1, HEIGHT, WIDTH, NPIX>& _src,
125 xf::cv::Mat<XF_8UC1, HEIGHT, WIDTH, NPIX>& _dst,
126 unsigned short Thresh,
130 ap_uint<OUTPUT_PTR_WIDTH>* img_out,
131 int rows,
int cols,
int threshold,
int k);
135 hls::stream<ap_uint<INPUT_PTR_WIDTH>>& img_in_axi_stream,
137 hls::stream<ap_uint<OUTPUT_PTR_WIDTH>>& img_out_axi_stream,
138 int rows,
int cols,
int threshold,
int k);
141 #ifdef USE_HLSLIB_STREAM
142 hlslib::Stream<ap_axiu<INPUT_PTR_WIDTH, 0, 0, 0>,
MIN_RX_LOOPS> & img_in_axi_stream,
143 hlslib::Stream<ap_axiu<OUTPUT_PTR_WIDTH, 0, 0, 0>,
MIN_TX_LOOPS> & img_out_axi_stream,
145 hls::stream<ap_axiu<INPUT_PTR_WIDTH, 0, 0, 0> >& img_in_axi_stream,
146 hls::stream<ap_axiu<OUTPUT_PTR_WIDTH, 0, 0, 0> >& img_out_axi_stream,
148 unsigned int min_rx_loops,
149 unsigned int min_tx_loops);
153 int rows,
int cols,
int threshold,
int k);
156 xf::cv::Mat<OUT_TYPE, HEIGHT, WIDTH, NPC1>& imgOutput,
void cornerHarrisAccelMem(membus_t *img_inp, membus_t *img_out, int rows, int cols, int threshold, int k)
Top-level accelerated function of the Harris Application with array I/F.
void harris_accel(xf::cv::Mat< XF_8UC1, 16, 16, XF_NPPC1 > &_src, xf::cv::Mat< XF_8UC1, 16, 16, XF_NPPC1 > &_dst, unsigned short Thresh, unsigned short k)
Top-level accelerated function of the Harris Application with xf::cv I/F.
void cornerHarrisAccelArray(ap_uint< 8 > *img_inp, ap_uint< 64 > *img_out, int rows, int cols, int threshold, int k)
Top-level accelerated function of the Harris Application with array I/F.
void gammacorrection_accel(xf::cv::Mat< XF_8UC1, 16, 16, XF_NPPC1 > &imgInput1, xf::cv::Mat< XF_8UC1, 16, 16, XF_NPPC1 > &imgOutput, float gammaval)
void fakeCornerHarrisAccelStream(hls::stream< ap_axiu< 8, 0, 0, 0 > > &img_in_axi_stream, hls::stream< ap_axiu< 64, 0, 0, 0 > > &img_out_axi_stream, unsigned int min_rx_loops, unsigned int min_tx_loops)
void cornerHarrisAccelStream(hls::stream< ap_uint< 8 >> &img_in_axi_stream, hls::stream< ap_uint< 64 >> &img_out_axi_stream, int rows, int cols, int threshold, int k)
Top-level accelerated function of the Harris Application with array I/F.
The Role for a Harris Example application (UDP or TCP)