HLS第二十二课(VideoProcessLib到xfopencv的过渡)

The following table summarizes the video processing functions ported from HLS Video Library
into xfOpenCV Library along with the API modifications.

++++++++++++++++++++++++++
SubS

template<int POLICY_TYPE, int SRC_T, int ROWS, int COLS, int NPC =1>
void subS(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src1, 
	unsigned char _scl[XF_CHANNELS(SRC_T,NPC)],
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst)

支持的SRC_T包括XF_8UC1。
支持的DST_T包括XF_8UC1。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

+++++++++++++++++++++++++++
SubRS

template<int POLICY_TYPE, int SRC_T, int ROWS, int COLS, int NPC =1>
void subRS(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src1, 
	unsigned char _scl[XF_CHANNELS(SRC_T,NPC)],
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst)

支持的SRC_T包括XF_8UC1。
支持的DST_T包括XF_8UC1。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

++++++++++++++++++++++++++++
Absolute Difference

template<int SRC_T, int ROWS, int COLS, int NPC=1>
void absdiff(
	xf::Mat<int SRC_T, int ROWS, int COLS, int NPC> src1,
	xf::Mat<int SRC_T, int ROWS, int COLS, int NPC> src2,
	xf::Mat<int SRC_T, int ROWS, int COLS, int NPC> dst )

按像素求差,然后存入一个新图像。
支持的SRC_T包括XF_8UC1 and XF_8UC3。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

+++++++++++++++++++++++++++++++++++++
addS

template<int POLICY_TYPE, int SRC_T, int ROWS, int COLS, int NPC =1>
void addS(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src1, 
	unsigned char _scl[XF_CHANNELS(SRC_T,NPC)],
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst)

逐像素加上一个标量值,统一增加offset。
支持的SRC_T包括XF_8UC1。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

++++++++++++++++++++++++++++++++++++
AddWeighted

template< int SRC_T , int DST_T, int ROWS, int COLS, int NPC=1>
void addWeighted(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src1, 
	float alpha,
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src2, 
	float beta, 
	float gamma,
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst)

支持的SRC_T包括XF_8UC1。
支持的DST_T包括XF_8UC1。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

++++++++++++++++++++++++++++++++++
Cmp

template<int CMP_OP, int SRC_T , int ROWS, int COLS, int NPC=1>
void compare(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src1, 
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src2, 
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst)

CMP_OP – a flag specifies correspondence between the pixels.
• XF_CMP_EQ : src1 is equal to src2
• XF_CMP_GT : src1 is greater than src2
• XF_CMP_GE : src1 is greater than or equal to src2
• XF_CMP_LT : src1 is less than src2
• XF_CMP_LE : src1 is less than or equal to src2
• XF_CMP_NE : src1 is unequal to src2
If the comparison result is true, then the corresponding element of dst is set to 255; else it is set
to 0.
支持的SRC_T包括XF_8UC1。
支持的DST_T包括XF_8UC1。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

+++++++++++++++++++++++++++++++++
CmpS

template<int CMP_OP, int SRC_T , int ROWS, int COLS, int NPC=1>
void compareS(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src1, 
	unsigned char _scl[XF_CHANNELS(SRC_T,NPC)], 
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst)

支持的SRC_T包括XF_8UC1。
支持的DST_T包括XF_8UC1。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

++++++++++++++++++++++++++++++
Max

template< int SRC_T , int ROWS, int COLS, int NPC=1>
void Max(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src1, 
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src2, 
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst)

逐像素取大值,存入新图像中。
src1通常为图像,src2通常为阈值掩模mask。
支持的SRC_T包括XF_8UC1。
支持的DST_T包括XF_8UC1。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

++++++++++++++++++++++++++++
MaxS

template< int SRC_T , int ROWS, int COLS, int NPC=1>
void MaxS(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src1, 
	unsigned char _scl[XF_CHANNELS(SRC_T,NPC)], 
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst)

逐像素取大值,存入新图像中。
src1通常为图像,src2通常为统一阈值mask。为限幅基准值。
支持的SRC_T包括XF_8UC1。
支持的DST_T包括XF_8UC1。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

+++++++++++++++++++++++++++
Min

template< int SRC_T , int ROWS, int COLS, int NPC=1>
void Min(xf::Mat<SRC_T, ROWS, COLS, NPC> & _src1, xf::Mat<SRC_T, ROWS,
COLS, NPC> & _src2, xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst)

逐像素取小值,存入新图像中。
src1通常为图像,src2通常为阈值掩模mask。
支持的SRC_T包括XF_8UC1。
支持的DST_T包括XF_8UC1。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

++++++++++++++++++++++++++++
MinS

template< int SRC_T , int ROWS, int COLS, int NPC=1>
void MinS(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src1, 
	unsigned char _scl[XF_CHANNELS(SRC_T,NPC)], 
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst)

逐像素取小值,存入新图像中。
src1通常为图像,src2通常为统一阈值mask。为限幅基准值。
支持的SRC_T包括XF_8UC1。
支持的DST_T包括XF_8UC1。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

++++++++++++++++++++++++++
PaintMask

template< int SRC_T,int MASK_T, int ROWS, int COLS,int NPC=1>
void paintmask(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src_mat, 
	xf::Mat<MASK_T, ROWS, COLS, NPC> & in_mask, 
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst_mat,
	unsigned char _color[XF_CHANNELS(SRC_T,NPC)])

逐像素叠加掩码图像mask。
支持的SRC_T包括XF_8UC1。
支持的DST_T包括XF_8UC1。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

+++++++++++++++++++++++
Reduce

template< int REDUCE_OP, int SRC_T , int DST_T, int ROWS, int COLS, int ONE_D_HEIGHT, int ONE_D_WIDTH,int NPC=1> 
void reduce(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src_mat, 
	xf::Mat<DST_T, ONE_D_HEIGHT, ONE_D_WIDTH, 1> & _dst_mat, 
	unsigned char dim)

The Reduce function reduces the matrix to a vector by treating rows/cols as set of 1-D vectors
and performing specified operation on vectors until a single row/col is obtained.
Reduction operation could be one of the following:
• REDUCE_SUM : The output is the sum of all of the matrix’s rows/columns.
• REDUCE_AVG : The output is the mean vector of all of the matrix’s rows/columns.
• REDUCE_MAX : The output is the maximum (column/row-wise) of all of the matrix’s rows/
columns.
• REDUCE_MIN : The output is the minimum (column/row-wise) of all of the matrix’s rows/
columns.

支持的SRC_T包括XF_8UC1。
支持的DST_T包括XF_8UC1。
支持的NPPC包括XF_NPPC1。

+++++++++++++++++++++++++++++
Set

template< int SRC_T , int ROWS, int COLS, int NPC=1>
void set(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src1, 
	unsigned char _scl[XF_CHANNELS(SRC_T,NPC)], 
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst)

支持的SRC_T包括XF_8UC1。
支持的DST_T包括XF_8UC1。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

++++++++++++++++++++++
Zero

template< int SRC_T , int ROWS, int COLS, int NPC=1>
void zero(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src1,
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst)

支持的SRC_T包括XF_8UC1。
支持的DST_T包括XF_8UC1。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。
+++++++++++++++++++++++
Sum

template< int SRC_T , int ROWS, int COLS, int NPC=1>
void sum(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & src1,
	double sum[XF_CHANNELS(SRC_T,NPC)])

支持的SRC_T包括XF_8UC1。
支持的DST_T包括XF_8UC1。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

+++++++++++++++++++++++++++
And

template<int SRC_T, int ROWS, int COLS, int NPC=1>
void bitwise_and (
	xf::Mat<int SRC_T, int ROWS, int COLS, int NPC> src1,
	xf::Mat<int SRC_T, int ROWS, int COLS, int NPC> src2,
	xf::Mat<int SRC_T, int ROWS, int COLS, int NPC> dst )

支持的SRC_T包括XF_8UC1 and XF_8UC3。
支持的DST_T包括XF_8UC1 and XF_8UC3。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

++++++++++++++++++++++++++
Dilate

template<int BORDER_TYPE, int TYPE, int ROWS, int COLS,int K_SHAPE,int K_ROWS,int K_COLS, int ITERATIONS, int NPC=1>
void dilate (
	xf::Mat<TYPE, ROWS, COLS, NPC> & _src, 
	xf::Mat<TYPE, ROWS, COLS, NPC> & _dst,
	unsigned char _kernel[K_ROWS*K_COLS])

支持的SRC_T包括XF_8UC1 and XF_8UC3。
支持的DST_T包括XF_8UC1 and XF_8UC3。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

++++++++++++++++++++++++++
erode

template<int BORDER_TYPE, int TYPE, int ROWS, int COLS,int K_SHAPE,int K_ROWS,int K_COLS, int ITERATIONS, int NPC=1>
void erode (
	xf::Mat<TYPE, ROWS, COLS, NPC> & _src, 
	xf::Mat<TYPE, ROWS, COLS, NPC> & _dst,
	unsigned char _kernel[K_ROWS*K_COLS])

支持的SRC_T包括XF_8UC1 and XF_8UC3。
支持的DST_T包括XF_8UC1 and XF_8UC3。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

++++++++++++++++++++++++++
Duplicate

template<int SRC_T, int ROWS, int COLS,int NPC=1>
void duplicateMat(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src,
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst1,
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst2)

支持的SRC_T包括XF_8UC1 and XF_8UC3。
支持的DST_T包括XF_8UC1 and XF_8UC3。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

+++++++++++++++++++++++++++
EqualizeHist

template<int SRC_T, int ROWS, int COLS, int NPC = 1>
void equalizeHist(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src,
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src1,
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst)

支持的SRC_T包括XF_8UC1 。
支持的DST_T包括XF_8UC1 。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

+++++++++++++++++++++++++++
FAST

template<int NMS,int SRC_T,int ROWS, int COLS,int NPC=1>
void fast(xf::Mat<SRC_T, ROWS, COLS, NPC> & _src_mat,xf::Mat<SRC_T, ROWS,
COLS, NPC> & _dst_mat,unsigned char _threshold)

支持的SRC_T包括XF_8UC1 。
支持的DST_T包括XF_8UC1 。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

++++++++++++++++++++++++++
Filter2D

template<int BORDER_TYPE,int FILTER_WIDTH,int FILTER_HEIGHT, int SRC_T,int DST_T, int ROWS, int COLS,int NPC=1>
void filter2D(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src_mat,
	xf::Mat<DST_T, ROWS, COLS, NPC> & _dst_mat,
	short int filter[FILTER_HEIGHT*FILTER_WIDTH],
	unsigned char _shift)

支持的SRC_T包括XF_8UC1 and XF_8UC3。
支持的DST_T包括XF_8UC1 and XF_8UC3。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。and(XF_16SC1,XF_16SC3)

+++++++++++++++++++++++++++
GaussianBlur

template<int FILTER_SIZE, int BORDER_TYPE, int SRC_T, int ROWS, int COLS, int NPC = 1>
void GaussianBlur(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & src, 
	xf::Mat<SRC_T, ROWS, COLS, NPC> & dst, 
	float sigma)

Filter size of 3 (XF_FILTER_3X3), 5 (XF_FILTER_5X5) and 7 (XF_FILTER_7X7) are supported.
Border type supported is XF_BORDER_CONSTANT
支持的SRC_T包括XF_8UC1 and XF_8UC3。
支持的DST_T包括XF_8UC1 and XF_8UC3。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

+++++++++++++++++++++++++
CornerHarris

template<int FILTERSIZE,int BLOCKWIDTH, int NMSRADIUS,int SRC_T,int ROWS, int COLS,int NPC=1,bool USE_URAM=false>
void cornerHarris(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & src,
	xf::Mat<SRC_T, ROWS, COLS, NPC> & dst,
	uint16_t threshold, 
	uint16_t k)

Size of the Sobel filter. 3, 5, and 7 supported。
Size of the box filter. 3, 5, and 7 supported.
支持的SRC_T包括XF_8UC1 。
支持的DST_T包括XF_8UC1 。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

++++++++++++++++++++++++++
HoughLines2

template<unsigned int RHO,unsigned int THETA,int MAXLINES,int DIAG,int MINTHETA,int MAXTHETA,int SRC_T, int ROWS, int COLS,int NPC>
void HoughLines(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src_mat,
	float outputrho[MAXLINES],
	float outputtheta[MAXLINES],
	short threshold,short linesmax)

支持的SRC_T包括XF_8UC1 。
支持的DST_T包括XF_8UC1 。
支持的NPPC包括XF_NPPC1 。

++++++++++++++++++++++++++
Integral

template<int SRC_TYPE,int DST_TYPE, int ROWS, int COLS, int NPC=1>
void integral(
	xf::Mat<SRC_TYPE, ROWS, COLS, NPC> & _src_mat,
	xf::Mat<DST_TYPE, ROWS, COLS, NPC> & _dst_mat)

支持的SRC_T包括XF_8UC1 。
支持的DST_T包括XF_32UC1 。
支持的NPPC包括XF_NPPC1 。

++++++++++++++++++++++++++
Merge

template<int SRC_T, int DST_T, int ROWS, int COLS, int NPC=1>
void merge(
	xf::Mat<SRC_T, ROWS, COLS, NPC> &_src1, 
	xf::Mat<SRC_T, ROWS, COLS, NPC> &_src2, 
	xf::Mat<SRC_T, ROWS, COLS, NPC> &_src3, 
	xf::Mat<SRC_T, ROWS, COLS, NPC> &_src4, 
	xf::Mat<DST_T, ROWS, COLS, NPC> &_dst)

支持的SRC_T包括XF_8UC1 。
支持的DST_T包括XF_8UC4 。
支持的NPPC包括XF_NPPC1 。

++++++++++++++++++++++++++++
MinMaxLoc

template<int SRC_T,int ROWS,int COLS,int NPC>
void minMaxLoc(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src,
	int32_t *max_value,
	int32_t *min_value,
	uint16_t * _minlocx, 
	uint16_t * _minlocy, 
	uint16_t * _maxlocx, 
	uint16_t * _maxlocy )

支持的SRC_T包括XF_8UC1 and XF_16UC1。
支持的DST_T包括XF_8UC4 。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

++++++++++++++++++++++++++++
Mul

template<int POLICY_TYPE, int SRC_T,int ROWS, int COLS, int NPC=1>
void multiply (
	xf::Mat<int SRC_T, int ROWS, int COLS, int NPC> src1,
	xf::Mat<int SRC_T, int ROWS, int COLS, int NPC> src2,
	xf::Mat<int SRC_T int ROWS, int COLS, int NPC> dst,
	float scale)

支持的SRC_T包括XF_8UC1 and XF_8UC3。
支持的DST_T包括XF_8UC1 and XF_8UC3。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

+++++++++++++++++++++++++++
Not

template<int SRC_T, int ROWS, int COLS, int NPC=1>
void bitwise_not (
xf::Mat<int SRC_T, int ROWS, int COLS, int NPC> src,
xf::Mat<int SRC_T, int ROWS, int COLS, int NPC> dst )

支持的SRC_T包括XF_8UC1 and XF_8UC3。
支持的DST_T包括XF_8UC1 and XF_8UC3。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

++++++++++++++++++++++++++++
Range

template<int SRC_T, int ROWS, int COLS,int NPC=1>
void inRange(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & src,
	unsigned char lower_thresh,
	unsigned char upper_thresh,
	xf::Mat<SRC_T, ROWS, COLS, NPC> & dst)

支持的SRC_T包括XF_8UC1 and XF_8UC3。
支持的DST_T包括XF_8UC1 and XF_8UC3。
支持的NPPC包括XF_NPPC1 and XF_NPPC8。

++++++++++++++++++++++++++++
Resize

template<int INTERPOLATION_TYPE, int TYPE, int SRC_ROWS, int SRC_COLS, int DST_ROWS, int DST_COLS, int NPC,int MAX_DOWN_SCALE>
void resize (
	xf::Mat<TYPE, SRC_ROWS, SRC_COLS, NPC> & _src, 
	xf::Mat<TYPE, DST_ROWS, DST_COLS, NPC> & _dst)

The following enumeration types can be used to
specify the interpolation type:
• XF_INTERPOLATION_NN - For Nearest-neighbor interpolation
• XF_INTERPOLATION_BILINEAR - For Bilinear interpolation
• XF_INTERPOLATION_AREA - For Area interpolation
Note: Scaling factors greater than or equal to 0.25 are supported in down-scaling and values less than or equal to 8 are supported for up-scaling
支持的SRC_T包括XF_8UC1 and XF_8UC3。
支持的DST_T包括XF_8UC1 and XF_8UC3。
支持的NPPC包括XF_NPPC1 。

+++++++++++++++++++++++++
sobel

template<int BORDER_TYPE,int FILTER_TYPE, int SRC_T,int DST_T, int ROWS, int COLS,int NPC=1,bool USE_URAM=false>
void Sobel(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src_mat,
	xf::Mat<DST_T, ROWS, COLS, NPC> & _dst_matx,
	xf::Mat<DST_T, ROWS, COLS, NPC> & _dst_maty)

Filter size. Filter size of 3 (XF_FILTER_3X3), 5 (XF_FILTER_5X5) and 7 (XF_FILTER_7X7) are
supported.
Border Type supported is XF_BORDER_CONSTANT
支持的SRC_T包括XF_8UC1 and XF_8UC3。
支持的DST_T包括XF_8UC1 and XF_8UC3。
支持的NPPC包括XF_NPPC1 and XF_NPPC8 。

++++++++++++++++++++++++++++
split

template<int SRC_T, int DST_T, int ROWS, int COLS, int NPC=1>
void extractChannel(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src_mat,
	xf::Mat<DST_T, ROWS, COLS, NPC> & _dst_mat, 
	uint16_t _channel)

支持的SRC_T包括XF_8UC4。
支持的DST_T包括XF_8UC1。
支持的NPPC包括XF_NPPC1。

+++++++++++++++++++++++++++++
Threshold

template<int THRESHOLD_TYPE, int SRC_T, int ROWS, int COLS,int NPC=1>
void Threshold(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src_mat,
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _dst_mat,
	short int thresh,
	short int maxval )

支持的SRC_T包括XF_8UC1 。
支持的DST_T包括XF_8UC1 。
支持的NPPC包括XF_NPPC1 and XF_NPPC8 。

+++++++++++++++++++++++++++++
meanStdDev

template<int SRC_T,int ROWS, int COLS,int NPC=1>
void meanStdDev(
	xf::Mat<SRC_T, ROWS, COLS, NPC> & _src,
	unsigned short* _mean,
	unsigned short* _stddev)

支持的SRC_T包括XF_8UC1 and XF_8UC3。
支持的DST_T包括XF_8UC1 。
支持的NPPC包括XF_NPPC1 and XF_NPPC8 。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值