⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cvmat.hpp.svn-base

📁 这是于老师移植到dsp的源码
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
    CvMAT& operator = ( const _CvMAT_DOT_OP_& dot_mul );    CvMAT& operator = ( const _CvMAT_SOLVE_& solve_mat );    CvMAT& operator = ( const _CvMAT_CMP_& cmp_mat );    CvMAT& operator = ( const _CvMAT_CVT_& mat_cvt );    /* copy matrix data, not only matrix header */    CvMAT& operator = ( const _CvMAT_COPY_& mat_copy );    /* augmented assignments */    CvMAT& operator += ( const CvMat& mat );    CvMAT& operator += ( double val );    CvMAT& operator += ( const CvScalar& val );    CvMAT& operator += ( const _CvMAT_SCALE_& scale_mat );    CvMAT& operator += ( const _CvMAT_SCALE_SHIFT_& scale_mat );    CvMAT& operator += ( const _CvMAT_MUL_& mmul );    CvMAT& operator -= ( const CvMat& mat );    CvMAT& operator -= ( double val );    CvMAT& operator -= ( const CvScalar& val );    CvMAT& operator -= ( const _CvMAT_SCALE_& scale_mat );    CvMAT& operator -= ( const _CvMAT_SCALE_SHIFT_& scale_mat );    CvMAT& operator -= ( const _CvMAT_MUL_& mmul );    CvMAT& operator *= ( const CvMat& mat );    CvMAT& operator *= ( double val );    CvMAT& operator *= ( const CvScalar& val );    CvMAT& operator *= ( const _CvMAT_SCALE_& scale_mat );    CvMAT& operator *= ( const _CvMAT_SCALE_SHIFT_& scale_mat );    CvMAT& operator &= ( const CvMat& mat );    CvMAT& operator &= ( double val );    CvMAT& operator &= ( const CvScalar& val );    CvMAT& operator |= ( const CvMat& mat );    CvMAT& operator |= ( double val );    CvMAT& operator |= ( const CvScalar& val );    CvMAT& operator ^= ( const CvMat& mat );    CvMAT& operator ^= ( double val );    CvMAT& operator ^= ( const CvScalar& val );    /* various scalar charactertics */    double norm( int norm_type = CV_L2 ) const;    double norm( CvMat& mat, int norm_type = CV_L2 ) const;    CvScalar sum() const;    double det() const;    double trace() const;    _CvMAT_T_  t() const; /* transposition */    _CvMAT_INV_ inv(int method = 0) const;    /* inversion using one of the following methods:          method = 0 - Gaussian elimination,          method = 1 - SVD */    _CvMAT_DOT_OP_  mul( const CvMAT& mat ) const;    _CvMAT_DOT_OP_  mul( const _CvMAT_SCALE_& mat ) const;    _CvMAT_DOT_OP_  div( const CvMAT& mat ) const;    _CvMAT_DOT_OP_  div( const _CvMAT_SCALE_& mat ) const;    _CvMAT_DOT_OP_  min( const CvMAT& mat ) const;    _CvMAT_DOT_OP_  max( const CvMAT& mat ) const;    _CvMAT_DOT_OP_  min( double value ) const;    _CvMAT_DOT_OP_  max( double value ) const;    double          min( CvPoint* minloc = 0 ) const;    double          max( CvPoint* maxloc = 0 ) const;    _CvMAT_DOT_OP_  abs() const;        /* accessing matrix elements */    _CvMATElem_ operator ()( int row );    _CvMATConstElem_ operator ()( int row ) const;    _CvMATElem_ operator ()( int row, int col );    _CvMATConstElem_ operator ()( int row, int col ) const;    _CvMATElem_ operator ()( CvPoint loc );    _CvMATConstElem_ operator ()( CvPoint loc ) const;    _CvMATElemCn_ operator()( int row, int col, int coi );    double operator()( int row, int col, int coi ) const;    _CvMATElemCn_ operator()( CvPoint pt, int coi );    double operator()( CvPoint pt, int coi ) const;    void* ptr( int row );    const void* ptr( int row ) const;    void* ptr( int row, int col );    const void* ptr( int row, int col ) const;    void* ptr( CvPoint pt );    const void* ptr( CvPoint pt ) const;    /* accessing matrix parts */    CvMAT row( int row ) const;    CvMAT rowrange( int row1, int row2 ) const;    CvMAT col( int col ) const;    CvMAT colrange( int col1, int col2 ) const;    CvMAT rect( CvRect rect ) const;    CvMAT diag( int diag = 0 ) const;    _CvMAT_COPY_ clone() const;    /* convert matrix */    _CvMAT_CVT_ cvt( int newdepth = -1, double scale = 1,                     double shift = 0 ) const;    /* matrix transformation */    void  reshape( int newcn, int newrows = 0 );    void  flipX();    void  flipY();    void  flipXY();    /* matrix I/O: use dynamically linked runtime libraries */    void  write( const char* name = 0, FILE* f = 0, const char* fmt = 0 );    void  read( char** name = 0, FILE* f = 0 );    /* decrease matrix data reference counter and clear data pointer */    void  release();protected:        void  create( int rows, int cols, int type );};/* !!! Internal Use Only !!! *//* proxies for matrix elements *//* const_A(i,j) */struct  CV_EXPORTS _CvMATConstElem_{    explicit _CvMATConstElem_( const uchar* ptr, int type );    operator CvScalar () const;    double operator ()( int coi = 0 ) const;    uchar* ptr;    int type;};/* A(i,j,cn) or A(i,j)(cn) */struct  CV_EXPORTS _CvMATElemCn_{    explicit _CvMATElemCn_( uchar* ptr, int type, int coi );    operator double() const;        _CvMATElemCn_& operator = ( const _CvMATConstElem_& elem );    _CvMATElemCn_& operator = ( const _CvMATElemCn_& elem );    _CvMATElemCn_& operator = ( const CvScalar& scalar );    _CvMATElemCn_& operator = ( double d );    _CvMATElemCn_& operator = ( float f );    _CvMATElemCn_& operator = ( int i );    uchar* ptr;    int type;};/* A(i,j) */struct  CV_EXPORTS _CvMATElem_ : public _CvMATConstElem_{    explicit _CvMATElem_( uchar* ptr, int type );    _CvMATElemCn_ operator ()( int coi = 0 );    _CvMATElem_& operator = ( const _CvMATConstElem_& elem );    _CvMATElem_& operator = ( const _CvMATElem_& elem );    _CvMATElem_& operator = ( const _CvMATElemCn_& elem );    _CvMATElem_& operator = ( const CvScalar& val );    _CvMATElem_& operator = ( double d );    _CvMATElem_& operator = ( float f );    _CvMATElem_& operator = ( int i );};struct  CV_EXPORTS _CvMAT_BASE_OP_{    _CvMAT_BASE_OP_() {};    virtual operator CvMAT() const = 0;    _CvMAT_DOT_OP_  mul( const CvMAT& a ) const;    _CvMAT_DOT_OP_  mul( const _CvMAT_SCALE_& a ) const;    _CvMAT_DOT_OP_  div( const CvMAT& a ) const;    _CvMAT_DOT_OP_  div( const _CvMAT_SCALE_& a ) const;    _CvMAT_DOT_OP_  max( const CvMAT& a ) const;    _CvMAT_DOT_OP_  min( const CvMAT& a ) const;    _CvMAT_DOT_OP_  max( double value ) const;    _CvMAT_DOT_OP_  min( double value ) const;    double          max( CvPoint* maxloc = 0 ) const;    double          min( CvPoint* minloc = 0 ) const;    _CvMAT_DOT_OP_  abs() const;    _CvMAT_INV_     inv( int method = 0 ) const;    _CvMAT_T_       t() const;    CvMAT     row( int row ) const;    CvMAT     rowrange( int row1, int row2 ) const;    CvMAT     col( int col ) const;    CvMAT     colrange( int col1, int col2 ) const;    CvMAT     rect( CvRect rect ) const;    CvMAT     diag( int diag = 0 ) const;    _CvMAT_CVT_     cvt( int newdepth = -1, double scale = 1, double shift = 0 ) const;        double          norm( int norm_type = CV_L2 ) const;    double          det() const;    double          trace() const;    CvScalar        sum() const;};/* (A^t)*alpha */struct  CV_EXPORTS _CvMAT_T_ : public _CvMAT_BASE_OP_{    explicit _CvMAT_T_( const CvMAT* a );    explicit _CvMAT_T_( const CvMAT* a, double alpha );        double det() const;    double norm( int normType = CV_L2 ) const;    operator CvMAT() const;    CvMAT  a;    double alpha;};/* inv(A) */struct  CV_EXPORTS _CvMAT_INV_ : public _CvMAT_BASE_OP_{    explicit _CvMAT_INV_( const CvMAT* mat, int method );    operator CvMAT() const;    CvMAT a;    int method;};/* (A^ta)*(B^tb)*alpha */struct  CV_EXPORTS _CvMAT_MUL_ : public _CvMAT_BASE_OP_{    explicit _CvMAT_MUL_( const CvMAT* a, const CvMAT* b, int t_ab );    explicit _CvMAT_MUL_( const CvMAT* a, const CvMAT* b,                          double alpha, int t_abc );    operator CvMAT() const;    double alpha;    CvMAT* a;    CvMAT* b;    int t_ab; /* (t_ab & 1) = ta, (t_ab & 2) = tb */};/* (A^ta)*(B^tb)*alpha + (C^tc)*beta */struct  CV_EXPORTS _CvMAT_MUL_ADD_ : public _CvMAT_BASE_OP_{    explicit _CvMAT_MUL_ADD_( const CvMAT* a, const CvMAT* b,                              const CvMAT* c, int t_abc );    explicit _CvMAT_MUL_ADD_( const CvMAT* a, const CvMAT* b, double alpha,                              const CvMAT* c, double beta, int t_abc );    operator CvMAT() const;    double alpha, beta;    CvMAT* a;    CvMAT* b;    CvMAT* c;    int t_abc; /* (t_abc & 1) = ta, (t_abc & 2) = tb, (t_abc & 4) = tc */};/* A + B*beta */struct  CV_EXPORTS _CvMAT_ADD_ : public _CvMAT_BASE_OP_{    explicit _CvMAT_ADD_( const CvMAT* a, const CvMAT* b, double beta = 1 );    operator CvMAT() const;    double   norm( int norm_type = CV_L2 ) const;    _CvMAT_DOT_OP_ abs() const;    double beta;    CvMAT* a;    CvMAT* b;};/* A*alpha + B*beta + gamma */struct  CV_EXPORTS _CvMAT_ADD_EX_ : public _CvMAT_BASE_OP_{    explicit _CvMAT_ADD_EX_( const CvMAT* a, double alpha,                             const CvMAT* b, double beta, double gamma = 0 );    operator CvMAT() const;    double alpha, beta, gamma;    CvMAT* a;    CvMAT* b;};/* A*alpha */struct  CV_EXPORTS _CvMAT_SCALE_ : public _CvMAT_BASE_OP_{    explicit _CvMAT_SCALE_( const CvMAT* a, double alpha );    operator CvMAT() const;    _CvMAT_DOT_OP_  mul( const CvMAT& a ) const;    _CvMAT_DOT_OP_  mul( const _CvMAT_SCALE_& a ) const;    _CvMAT_DOT_OP_  div( const CvMAT& a ) const;    _CvMAT_DOT_OP_  div( const _CvMAT_SCALE_& a ) const;    double alpha;    CvMAT* a;};/* A*alpha + beta */struct  CV_EXPORTS _CvMAT_SCALE_SHIFT_ : public _CvMAT_BASE_OP_{    explicit _CvMAT_SCALE_SHIFT_( const CvMAT* a, double alpha, double beta );    operator CvMAT() const;    _CvMAT_DOT_OP_  abs() const;    double alpha, beta;    CvMAT* a;};/* (A & B), (A | B) or (A ^ B) */struct  CV_EXPORTS _CvMAT_LOGIC_ : public _CvMAT_BASE_OP_{    enum Op { AND = 0, OR = 1, XOR = 2 };    explicit _CvMAT_LOGIC_( const CvMAT* a, const CvMAT* b, Op op, int flags = 0 );    operator CvMAT() const;    CvMAT* a;    CvMAT* b;    Op op;    int flags;};/* (A & scalar), (A | scalar) or (A ^ scalar) */struct  CV_EXPORTS _CvMAT_UN_LOGIC_ : public _CvMAT_BASE_OP_{    explicit _CvMAT_UN_LOGIC_( const CvMAT* a, double alpha,                               _CvMAT_LOGIC_::Op op, int flags = 0 );    operator CvMAT() const;    CvMAT* a;    double alpha;    _CvMAT_LOGIC_::Op op;    int flags;};/* ~A */struct  CV_EXPORTS _CvMAT_NOT_ : public _CvMAT_BASE_OP_{    explicit _CvMAT_NOT_( const CvMAT* a );    operator CvMAT() const;    CvMAT* a;};/* conversion of data type */struct  CV_EXPORTS _CvMAT_CVT_ : public _CvMAT_BASE_OP_{    explicit _CvMAT_CVT_( const CvMAT* a, int newdepth = -1,                          double scale = 1, double shift = 0 );    operator CvMAT() const;    CvMAT a;    int newdepth;    double scale, shift;};/* conversion of data type */struct  CV_EXPORTS _CvMAT_COPY_{    explicit _CvMAT_COPY_( const CvMAT* a );    operator CvMAT() const;    CvMAT* a;};/* a.op(b), where op = mul, div, min, max ... */struct  CV_EXPORTS _CvMAT_DOT_OP_ : public _CvMAT_BASE_OP_{    explicit _CvMAT_DOT_OP_( const CvMAT* a, const CvMAT* b,                             int op, double alpha = 1 );    operator CvMAT() const;    CvMAT a; /* keep the left operand copy */    CvMAT* b;    double alpha;    int op;};/* A.inv()*B or A.pinv()*B */struct  CV_EXPORTS _CvMAT_SOLVE_ : public _CvMAT_BASE_OP_{    explicit _CvMAT_SOLVE_( const CvMAT* a, const CvMAT* b, int method );    operator CvMAT() const;    CvMAT* a;    CvMAT* b;    int method;};/* A <=> B */struct  CV_EXPORTS _CvMAT_CMP_ : public _CvMAT_BASE_OP_{    explicit _CvMAT_CMP_( const CvMAT* a, const CvMAT* b, int cmp_op );    explicit _CvMAT_CMP_( const CvMAT* a, double alpha, int cmp_op );    operator CvMAT() const;    CvMAT* a;    CvMAT* b;    double alpha;    int cmp_op;};/************************* _CvMATConstElem_ inline methods ******************************/inline _CvMATConstElem_::_CvMATConstElem_(const uchar* p, int t) : ptr((uchar*)p), type(t){}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -