45 #ifndef OPENCV_HAL_HPP
46 #define OPENCV_HAL_HPP
48 #include "opencv2/core/cvdef.h"
49 #include "opencv2/core/cvstd.hpp"
50 #include "opencv2/core/hal/interface.h"
52 namespace cv {
namespace hal {
63 CV_EXPORTS int LU32f(
float* A,
size_t astep,
int m,
float* b,
size_t bstep,
int n);
64 CV_EXPORTS int LU64f(
double* A,
size_t astep,
int m,
double* b,
size_t bstep,
int n);
67 CV_EXPORTS void SVD32f(
float* At,
size_t astep,
float*
W,
float*
U,
size_t ustep,
float* Vt,
size_t vstep,
int m,
int n,
int flags);
68 CV_EXPORTS void SVD64f(
double* At,
size_t astep,
double*
W,
double*
U,
size_t ustep,
double* Vt,
size_t vstep,
int m,
int n,
int flags);
69 CV_EXPORTS int QR32f(
float* A,
size_t astep,
int m,
int n,
int k,
float* b,
size_t bstep,
float* hFactors);
70 CV_EXPORTS int QR64f(
double* A,
size_t astep,
int m,
int n,
int k,
double* b,
size_t bstep,
double* hFactors);
73 float alpha,
const float*
src3,
size_t src3_step,
float beta,
float*
dst,
size_t dst_step,
74 int m_a,
int n_a,
int n_d,
int flags);
76 double alpha,
const double*
src3,
size_t src3_step,
double beta,
double*
dst,
size_t dst_step,
77 int m_a,
int n_a,
int n_d,
int flags);
79 float alpha,
const float*
src3,
size_t src3_step,
float beta,
float*
dst,
size_t dst_step,
80 int m_a,
int n_a,
int n_d,
int flags);
82 double alpha,
const double*
src3,
size_t src3_step,
double beta,
double*
dst,
size_t dst_step,
83 int m_a,
int n_a,
int n_d,
int flags);
218 int src_channels,
int dst_channels,
219 int flags,
int nonzero_rows = 0);
220 virtual void apply(
const uchar *src_data,
size_t src_step,
uchar *dst_data,
size_t dst_step) = 0;
227 virtual void apply(
const uchar *src_data,
size_t src_step,
uchar *dst_data,
size_t dst_step) = 0;
238 CV_EXPORTS int LU(
float* A,
size_t astep,
int m,
float* b,
size_t bstep,
int n);
239 CV_EXPORTS int LU(
double* A,
size_t astep,
int m,
double* b,
size_t bstep,
int n);
240 CV_EXPORTS bool Cholesky(
float* A,
size_t astep,
int m,
float* b,
size_t bstep,
int n);
241 CV_EXPORTS bool Cholesky(
double* A,
size_t astep,
int m,
double* b,
size_t bstep,
int n);
253 CV_EXPORTS void invSqrt(
const float* src,
float*
dst,
int len);
254 CV_EXPORTS void invSqrt(
const double* src,
double*
dst,
int len);
InputArrayOfArrays Size InputOutputArray InputOutputArray OutputArrayOfArrays OutputArrayOfArrays OutputArray OutputArray OutputArray int flags
Definition: calib3d.hpp:1617
CV_EXPORTS_W void magnitude(InputArray x, InputArray y, OutputArray magnitude)
Calculates the magnitude of 2D vectors.
const CvArr * angle
Definition: core_c.h:1194
const CvArr const CvArr const CvArr * src3
Definition: core_c.h:994
CvArr * W
Definition: core_c.h:1335
double const CvArr double beta
Definition: core_c.h:1094
CvScalar scale
Definition: core_c.h:1088
const CvArr const CvArr * src2
Definition: core_c.h:994
const CvArr * src1
Definition: core_c.h:993
int count
Definition: core_c.h:1413
void int step
Definition: core_c.h:905
const CvArr * U
Definition: core_c.h:1340
CvArr * arr
Definition: core_c.h:1247
int depth
Definition: core_c.h:100
const CvArr CvArr * x
Definition: core_c.h:1195
double alpha
Definition: core_c.h:1093
const CvArr * y
Definition: core_c.h:1187
CV_EXPORTS void gemm32fc(const float *src1, size_t src1_step, const float *src2, size_t src2_step, float alpha, const float *src3, size_t src3_step, float beta, float *dst, size_t dst_step, int m_a, int n_a, int n_d, int flags)
CV_EXPORTS void max16s(const short *src1, size_t step1, const short *src2, size_t step2, short *dst, size_t step, int width, int height, void *)
CV_EXPORTS void split64s(const int64 *src, int64 **dst, int len, int cn)
CV_EXPORTS int QR64f(double *A, size_t astep, int m, int n, int k, double *b, size_t bstep, double *hFactors)
CV_EXPORTS void sub16s(const short *src1, size_t step1, const short *src2, size_t step2, short *dst, size_t step, int width, int height, void *)
CV_EXPORTS void addWeighted64f(const double *src1, size_t step1, const double *src2, size_t step2, double *dst, size_t step, int width, int height, void *scalars)
CV_EXPORTS void log32f(const float *src, float *dst, int n)
CV_EXPORTS void polarToCart64f(const double *mag, const double *angle, double *x, double *y, int n, bool angleInDegrees)
CV_EXPORTS void recip64f(const double *, size_t, const double *src2, size_t step2, double *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void div8u(const uchar *src1, size_t step1, const uchar *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void recip16u(const ushort *, size_t, const ushort *src2, size_t step2, ushort *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void log64f(const double *src, double *dst, int n)
CV_EXPORTS void mul8u(const uchar *src1, size_t step1, const uchar *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void exp32f(const float *src, float *dst, int n)
CV_EXPORTS void cmp8u(const uchar *src1, size_t step1, const uchar *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *_cmpop)
CV_EXPORTS void mul16s(const short *src1, size_t step1, const short *src2, size_t step2, short *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void fastAtan64f(const double *y, const double *x, double *dst, int n, bool angleInDegrees)
CV_EXPORTS void cmp8s(const schar *src1, size_t step1, const schar *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *_cmpop)
CV_EXPORTS void cartToPolar64f(const double *x, const double *y, double *mag, double *angle, int n, bool angleInDegrees)
CV_EXPORTS void min32s(const int *src1, size_t step1, const int *src2, size_t step2, int *dst, size_t step, int width, int height, void *)
CV_EXPORTS void recip16s(const short *, size_t, const short *src2, size_t step2, short *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void merge16u(const ushort **src, ushort *dst, int len, int cn)
CV_EXPORTS void max64f(const double *src1, size_t step1, const double *src2, size_t step2, double *dst, size_t step, int width, int height, void *)
CV_EXPORTS void absdiff64f(const double *src1, size_t step1, const double *src2, size_t step2, double *dst, size_t step, int width, int height, void *)
CV_EXPORTS void sub8s(const schar *src1, size_t step1, const schar *src2, size_t step2, schar *dst, size_t step, int width, int height, void *)
CV_EXPORTS void addRNGBias64f(double *arr, const double *scaleBiasPairs, int len)
CV_EXPORTS void SVD64f(double *At, size_t astep, double *W, double *U, size_t ustep, double *Vt, size_t vstep, int m, int n, int flags)
CV_EXPORTS void div16u(const ushort *src1, size_t step1, const ushort *src2, size_t step2, ushort *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void div64f(const double *src1, size_t step1, const double *src2, size_t step2, double *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void absdiff32s(const int *src1, size_t step1, const int *src2, size_t step2, int *dst, size_t step, int width, int height, void *)
CV_EXPORTS void addWeighted32f(const float *src1, size_t step1, const float *src2, size_t step2, float *dst, size_t step, int width, int height, void *scalars)
CV_EXPORTS void gemm64fc(const double *src1, size_t src1_step, const double *src2, size_t src2_step, double alpha, const double *src3, size_t src3_step, double beta, double *dst, size_t dst_step, int m_a, int n_a, int n_d, int flags)
CV_EXPORTS void div32f(const float *src1, size_t step1, const float *src2, size_t step2, float *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void absdiff8u(const uchar *src1, size_t step1, const uchar *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *)
CV_EXPORTS void cmp16u(const ushort *src1, size_t step1, const ushort *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *_cmpop)
CV_EXPORTS void add32f(const float *src1, size_t step1, const float *src2, size_t step2, float *dst, size_t step, int width, int height, void *)
CV_EXPORTS void add8u(const uchar *src1, size_t step1, const uchar *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *)
CV_EXPORTS void absdiff16s(const short *src1, size_t step1, const short *src2, size_t step2, short *dst, size_t step, int width, int height, void *)
CV_EXPORTS void split16u(const ushort *src, ushort **dst, int len, int cn)
CV_EXPORTS void sub16u(const ushort *src1, size_t step1, const ushort *src2, size_t step2, ushort *dst, size_t step, int width, int height, void *)
CV_EXPORTS void fastAtan32f(const float *y, const float *x, float *dst, int n, bool angleInDegrees)
CV_EXPORTS void min8u(const uchar *src1, size_t step1, const uchar *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *)
CV_EXPORTS void min16u(const ushort *src1, size_t step1, const ushort *src2, size_t step2, ushort *dst, size_t step, int width, int height, void *)
CV_EXPORTS void cmp32f(const float *src1, size_t step1, const float *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *_cmpop)
CV_EXPORTS void div8s(const schar *src1, size_t step1, const schar *src2, size_t step2, schar *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void min32f(const float *src1, size_t step1, const float *src2, size_t step2, float *dst, size_t step, int width, int height, void *)
CV_EXPORTS void cmp16s(const short *src1, size_t step1, const short *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *_cmpop)
CV_EXPORTS void cartToPolar32f(const float *x, const float *y, float *mag, float *angle, int n, bool angleInDegrees)
CV_EXPORTS int normHamming(const uchar *a, int n)
CV_EXPORTS void cvt16f32f(const hfloat *src, float *dst, int len)
CV_EXPORTS int LU32f(float *A, size_t astep, int m, float *b, size_t bstep, int n)
CV_EXPORTS void mul32f(const float *src1, size_t step1, const float *src2, size_t step2, float *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void max32s(const int *src1, size_t step1, const int *src2, size_t step2, int *dst, size_t step, int width, int height, void *)
CV_EXPORTS void absdiff32f(const float *src1, size_t step1, const float *src2, size_t step2, float *dst, size_t step, int width, int height, void *)
CV_EXPORTS int LU64f(double *A, size_t astep, int m, double *b, size_t bstep, int n)
CV_EXPORTS void div16s(const short *src1, size_t step1, const short *src2, size_t step2, short *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void sqrt64f(const double *src, double *dst, int len)
CV_EXPORTS void div32s(const int *src1, size_t step1, const int *src2, size_t step2, int *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void sqrt32f(const float *src, float *dst, int len)
CV_EXPORTS void cmp64f(const double *src1, size_t step1, const double *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *_cmpop)
CV_EXPORTS void sub32s(const int *src1, size_t step1, const int *src2, size_t step2, int *dst, size_t step, int width, int height, void *)
CV_EXPORTS void split8u(const uchar *src, uchar **dst, int len, int cn)
CV_EXPORTS void min64f(const double *src1, size_t step1, const double *src2, size_t step2, double *dst, size_t step, int width, int height, void *)
CV_EXPORTS void recip32s(const int *, size_t, const int *src2, size_t step2, int *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void addWeighted8u(const uchar *src1, size_t step1, const uchar *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *_scalars)
CV_EXPORTS int normL1_(const uchar *a, const uchar *b, int n)
CV_EXPORTS void polarToCart32f(const float *mag, const float *angle, float *x, float *y, int n, bool angleInDegrees)
CV_EXPORTS void addWeighted8s(const schar *src1, size_t step1, const schar *src2, size_t step2, schar *dst, size_t step, int width, int height, void *scalars)
CV_EXPORTS void absdiff8s(const schar *src1, size_t step1, const schar *src2, size_t step2, schar *dst, size_t step, int width, int height, void *)
CV_EXPORTS void add32s(const int *src1, size_t step1, const int *src2, size_t step2, int *dst, size_t step, int width, int height, void *)
CV_EXPORTS void magnitude64f(const double *x, const double *y, double *dst, int n)
CV_EXPORTS void mul16u(const ushort *src1, size_t step1, const ushort *src2, size_t step2, ushort *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void add64f(const double *src1, size_t step1, const double *src2, size_t step2, double *dst, size_t step, int width, int height, void *)
CV_EXPORTS void addWeighted16u(const ushort *src1, size_t step1, const ushort *src2, size_t step2, ushort *dst, size_t step, int width, int height, void *scalars)
CV_EXPORTS void addWeighted16s(const short *src1, size_t step1, const short *src2, size_t step2, short *dst, size_t step, int width, int height, void *scalars)
CV_EXPORTS void max8s(const schar *src1, size_t step1, const schar *src2, size_t step2, schar *dst, size_t step, int width, int height, void *)
CV_EXPORTS void min16s(const short *src1, size_t step1, const short *src2, size_t step2, short *dst, size_t step, int width, int height, void *)
CV_EXPORTS void exp64f(const double *src, double *dst, int n)
CV_EXPORTS void addRNGBias32f(float *arr, const float *scaleBiasPairs, int len)
CV_EXPORTS void merge8u(const uchar **src, uchar *dst, int len, int cn)
CV_EXPORTS void magnitude32f(const float *x, const float *y, float *dst, int n)
CV_EXPORTS void absdiff16u(const ushort *src1, size_t step1, const ushort *src2, size_t step2, ushort *dst, size_t step, int width, int height, void *)
CV_EXPORTS void recip8s(const schar *, size_t, const schar *src2, size_t step2, schar *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS bool Cholesky64f(double *A, size_t astep, int m, double *b, size_t bstep, int n)
CV_EXPORTS void min8s(const schar *src1, size_t step1, const schar *src2, size_t step2, schar *dst, size_t step, int width, int height, void *)
CV_EXPORTS void invSqrt64f(const double *src, double *dst, int len)
CV_EXPORTS int QR32f(float *A, size_t astep, int m, int n, int k, float *b, size_t bstep, float *hFactors)
CV_EXPORTS void and8u(const uchar *src1, size_t step1, const uchar *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *)
CV_EXPORTS void add16u(const ushort *src1, size_t step1, const ushort *src2, size_t step2, ushort *dst, size_t step, int width, int height, void *)
CV_EXPORTS void mul8s(const schar *src1, size_t step1, const schar *src2, size_t step2, schar *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void gemm32f(const float *src1, size_t src1_step, const float *src2, size_t src2_step, float alpha, const float *src3, size_t src3_step, float beta, float *dst, size_t dst_step, int m_a, int n_a, int n_d, int flags)
CV_EXPORTS void cmp32s(const int *src1, size_t step1, const int *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *_cmpop)
CV_EXPORTS void mul64f(const double *src1, size_t step1, const double *src2, size_t step2, double *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void xor8u(const uchar *src1, size_t step1, const uchar *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *)
CV_EXPORTS void sub32f(const float *src1, size_t step1, const float *src2, size_t step2, float *dst, size_t step, int width, int height, void *)
CV_EXPORTS void recip8u(const uchar *, size_t, const uchar *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void SVD32f(float *At, size_t astep, float *W, float *U, size_t ustep, float *Vt, size_t vstep, int m, int n, int flags)
CV_EXPORTS float normL2Sqr_(const float *a, const float *b, int n)
CV_EXPORTS void gemm64f(const double *src1, size_t src1_step, const double *src2, size_t src2_step, double alpha, const double *src3, size_t src3_step, double beta, double *dst, size_t dst_step, int m_a, int n_a, int n_d, int flags)
CV_EXPORTS void add8s(const schar *src1, size_t step1, const schar *src2, size_t step2, schar *dst, size_t step, int width, int height, void *)
CV_EXPORTS void invSqrt32f(const float *src, float *dst, int len)
CV_EXPORTS void sub64f(const double *src1, size_t step1, const double *src2, size_t step2, double *dst, size_t step, int width, int height, void *)
CV_EXPORTS void max8u(const uchar *src1, size_t step1, const uchar *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *)
CV_EXPORTS void not8u(const uchar *src1, size_t step1, const uchar *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *)
CV_EXPORTS void merge64s(const int64 **src, int64 *dst, int len, int cn)
CV_EXPORTS void merge32s(const int **src, int *dst, int len, int cn)
CV_EXPORTS void addWeighted32s(const int *src1, size_t step1, const int *src2, size_t step2, int *dst, size_t step, int width, int height, void *scalars)
CV_EXPORTS void cvt32f16f(const float *src, hfloat *dst, int len)
CV_EXPORTS void sub8u(const uchar *src1, size_t step1, const uchar *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *)
CV_EXPORTS void mul32s(const int *src1, size_t step1, const int *src2, size_t step2, int *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS bool Cholesky32f(float *A, size_t astep, int m, float *b, size_t bstep, int n)
CV_EXPORTS void or8u(const uchar *src1, size_t step1, const uchar *src2, size_t step2, uchar *dst, size_t step, int width, int height, void *)
CV_EXPORTS void max32f(const float *src1, size_t step1, const float *src2, size_t step2, float *dst, size_t step, int width, int height, void *)
CV_EXPORTS void max16u(const ushort *src1, size_t step1, const ushort *src2, size_t step2, ushort *dst, size_t step, int width, int height, void *)
CV_EXPORTS void add16s(const short *src1, size_t step1, const short *src2, size_t step2, short *dst, size_t step, int width, int height, void *)
CV_EXPORTS void recip32f(const float *, size_t, const float *src2, size_t step2, float *dst, size_t step, int width, int height, void *scale)
CV_EXPORTS void split32s(const int *src, int **dst, int len, int cn)
signed char schar
Definition: interface.h:48
unsigned char uchar
Definition: interface.h:51
int64_t int64
Definition: interface.h:61
unsigned short ushort
Definition: interface.h:52
#define CV_EXPORTS
Definition: cvdef.h:435
CV_EXPORTS int LU(float *A, size_t astep, int m, float *b, size_t bstep, int n)
CV_EXPORTS_W float fastAtan2(float y, float x)
Calculates the angle of a 2D vector in degrees.
CV_EXPORTS bool Cholesky(float *A, size_t astep, int m, float *b, size_t bstep, int n)
Quat< S > sqrt(const Quat< S > &q, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT)
CV_EXPORTS OutputArray int double double InputArray OutputArray int int bool double k
Definition: imgproc.hpp:2133
OutputArray dst
Definition: imgproc.hpp:3564
"black box" representation of the file storage associated with a file on disk.
Definition: calib3d.hpp:441
DualQuat< T > log(const DualQuat< T > &dq, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT)
Definition: dualquaternion.inl.hpp:344
DualQuat< T > exp(const DualQuat< T > &dq)
Definition: dualquaternion.inl.hpp:312
Definition: cvstd_wrapper.hpp:74
virtual ~DCT2D()
Definition: hal.hpp:228
virtual void apply(const uchar *src_data, size_t src_step, uchar *dst_data, size_t dst_step)=0
static Ptr< DCT2D > create(int width, int height, int depth, int flags)
virtual void apply(const uchar *src, uchar *dst)=0
static Ptr< DFT1D > create(int len, int count, int depth, int flags, bool *useBuffer=0)
virtual ~DFT1D()
Definition: hal.hpp:212
virtual ~DFT2D()
Definition: hal.hpp:221
virtual void apply(const uchar *src_data, size_t src_step, uchar *dst_data, size_t dst_step)=0
static Ptr< DFT2D > create(int width, int height, int depth, int src_channels, int dst_channels, int flags, int nonzero_rows=0)