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

📄 cvmat.hpp

📁 用OpenCV编写的人脸识别代码
💻 HPP
📖 第 1 页 / 共 5 页
字号:
{   return _CvMAT_ADD_EX_( a.a, a.alpha, b.a, -b.alpha, a.beta - b.beta ); }

/* mat_add2 = mat_add1 + scalar */
inline _CvMAT_ADD_EX_ operator + ( const _CvMAT_ADD_EX_& a, double gamma )
{   return _CvMAT_ADD_EX_( a.a, a.alpha, a.b, a.beta, a.gamma + gamma ); }

/* mat_add2 = scalar + mat_add1 */
inline _CvMAT_ADD_EX_ operator + ( double gamma, const _CvMAT_ADD_EX_& a )
{   return _CvMAT_ADD_EX_( a.a, a.alpha, a.b, a.beta, a.gamma + gamma ); }

/* mat_add2 = mat_add1 - scalar */
inline _CvMAT_ADD_EX_ operator - ( const _CvMAT_ADD_EX_& a, double gamma )
{   return _CvMAT_ADD_EX_( a.a, a.alpha, a.b, a.beta, a.gamma - gamma ); }

/* mat_add2 = scalar - mat_add1 */
inline _CvMAT_ADD_EX_ operator - ( double gamma, const _CvMAT_ADD_EX_& a )
{   return _CvMAT_ADD_EX_( a.a, -a.alpha, a.b, -a.beta, gamma - a.gamma ); }

/* mat_add2 = mat_add1 * scalar */
inline _CvMAT_ADD_EX_ operator * ( const _CvMAT_ADD_EX_& a, double alpha )
{   return _CvMAT_ADD_EX_( a.a, a.alpha*alpha, a.b, a.beta*alpha, a.gamma*alpha ); }

/* mat_add2 = scalar * mat_add1 */
inline _CvMAT_ADD_EX_ operator * ( double alpha, const _CvMAT_ADD_EX_& a )
{   return _CvMAT_ADD_EX_( a.a, a.alpha*alpha, a.b, a.beta*alpha, a.gamma*alpha ); }

/* mat_add2 = mat_add1 + scalar */
inline _CvMAT_ADD_EX_ operator + ( const _CvMAT_ADD_& a, double gamma )
{   return _CvMAT_ADD_EX_( a.a, 1, a.b, a.beta, gamma ); }

/* mat_add2 = scalar + mat_add1 */
inline _CvMAT_ADD_EX_ operator + ( double gamma, const _CvMAT_ADD_& a )
{   return _CvMAT_ADD_EX_( a.a, 1, a.b, a.beta, gamma ); }

/* mat_add2 = mat_add1 - scalar */
inline _CvMAT_ADD_EX_ operator - ( const _CvMAT_ADD_& a, double gamma )
{   return _CvMAT_ADD_EX_( a.a, 1, a.b, a.beta, -gamma ); }

/* mat_add2 = scalar - mat_add1 */
inline _CvMAT_ADD_EX_ operator - ( double gamma, const _CvMAT_ADD_& a )
{   return _CvMAT_ADD_EX_( a.a, -1, a.b, -a.beta, gamma ); }

/* mat_add2 = mat_add1 * scalar */
inline _CvMAT_ADD_EX_ operator * ( const _CvMAT_ADD_& a, double alpha )
{   return _CvMAT_ADD_EX_( a.a, alpha, a.b, a.beta*alpha, 0 ); }

/* mat_add2 = scalar * mat_add1 */
inline _CvMAT_ADD_EX_ operator * ( double alpha, const _CvMAT_ADD_& a )
{   return _CvMAT_ADD_EX_( a.a, alpha, a.b, a.beta*alpha, 0 ); }

/* -mat_add_ex */
inline _CvMAT_ADD_EX_ operator - ( const _CvMAT_ADD_EX_& a )
{   return _CvMAT_ADD_EX_( a.a, -a.alpha, a.b, -a.beta, -a.gamma ); }


/*
* PART II. Matrix multiplication.
*/

/* mmul = mat1 * mat2 */
inline _CvMAT_MUL_ operator * ( const CvMAT& a, const CvMAT& b )
{   return _CvMAT_MUL_( &a, &b, 0 );    }

/* mmul = (mat1^t) * mat2 */
inline _CvMAT_MUL_ operator * ( const _CvMAT_T_& a, const CvMAT& b )
{   return _CvMAT_MUL_( &a.a, &b, a.alpha, 1 );   }

/* mmul = mat1 * (mat2^t) */
inline _CvMAT_MUL_ operator * ( const CvMAT& b, const _CvMAT_T_& a )
{   return _CvMAT_MUL_( &b, &a.a, a.alpha, 2 );  }

/* mmul = (mat1^t) * (mat2^t) */
inline _CvMAT_MUL_ operator * ( const _CvMAT_T_& a, const _CvMAT_T_& b )
{   return _CvMAT_MUL_( &a.a, &b.a, a.alpha*b.alpha, 3 );  }

/* mmul = mat_scaled1 * mat2 */
inline _CvMAT_MUL_ operator * ( const _CvMAT_SCALE_& a, const CvMAT& b )
{   return _CvMAT_MUL_( a.a, &b, a.alpha, 0 ); }

/* mmul = mat1 * mat_scaled2 */
inline _CvMAT_MUL_ operator * ( const CvMAT& b, const _CvMAT_SCALE_& a )
{   return _CvMAT_MUL_( &b, a.a, a.alpha, 0 ); }

/* mmul = (mat1^t) * mat_scaled1 */
inline _CvMAT_MUL_ operator * ( const _CvMAT_T_& a, const _CvMAT_SCALE_& b )
{   return _CvMAT_MUL_( &a.a, b.a, a.alpha*b.alpha, 1 ); }

/* mmul = mat_scaled1 * (mat2^t) */
inline _CvMAT_MUL_ operator * ( const _CvMAT_SCALE_& b, const _CvMAT_T_& a )
{   return _CvMAT_MUL_( b.a, &a.a, a.alpha*b.alpha, 2 ); }

/* mmul = mat_scaled1 * mat_scaled2 */
inline _CvMAT_MUL_ operator * ( const _CvMAT_SCALE_& a, const _CvMAT_SCALE_& b )
{   return _CvMAT_MUL_( a.a, b.a, a.alpha*b.alpha, 0 ); }

/* mmul2 = mmul1 * scalar */
inline _CvMAT_MUL_ operator * ( const _CvMAT_MUL_& a, double alpha )
{   return _CvMAT_MUL_( a.a, a.b, a.alpha*alpha, a.t_ab ); }

/* mmul2 = scalar * mmul1 */
inline _CvMAT_MUL_ operator * ( double alpha, const _CvMAT_MUL_& a )
{   return _CvMAT_MUL_( a.a, a.b, a.alpha*alpha, a.t_ab ); }

/* -mmul */
inline _CvMAT_MUL_ operator - ( const _CvMAT_MUL_& a )
{   return _CvMAT_MUL_( a.a, a.b, -a.alpha, a.t_ab ); }

/* mmuladd = mmul + mat */
inline _CvMAT_MUL_ADD_ operator + ( const _CvMAT_MUL_& a, const CvMAT& b )
{   return _CvMAT_MUL_ADD_( a.a, a.b, a.alpha, &b, 1, a.t_ab ); }

/* !!! Comment this off because of ambigous conversion error !!!
   mmuladd = mat + mmul */
/* inline _CvMAT_MUL_ADD_ operator + ( const CvMAT& b, const _CvMAT_MUL_& a )
{   return _CvMAT_MUL_ADD_( a.a, a.b, a.alpha, &b, 1, a.t_ab ); }*/

/* mmuladd = mmul - mat */
inline _CvMAT_MUL_ADD_ operator - ( const _CvMAT_MUL_& a, const CvMAT& b )
{   return _CvMAT_MUL_ADD_( a.a, a.b, a.alpha, &b, -1, a.t_ab ); }

/* !!! Comment this off because of ambigous conversion error !!!
   mmuladd = mat - mmul */
/*inline _CvMAT_MUL_ADD_ operator - ( const CvMAT& b, const _CvMAT_MUL_& a )
{   return _CvMAT_MUL_ADD_( a.a, a.b, -a.alpha, &b, 1, a.t_ab ); }*/

/* mmuladd = mmul + mat_scaled */
inline _CvMAT_MUL_ADD_ operator + ( const _CvMAT_MUL_& a, const _CvMAT_SCALE_& b )
{   return _CvMAT_MUL_ADD_( a.a, a.b, a.alpha, b.a, b.alpha, a.t_ab ); }

/* mmuladd = mat_scaled + mmul */
inline _CvMAT_MUL_ADD_ operator + ( const _CvMAT_SCALE_& b, const _CvMAT_MUL_& a )
{   return _CvMAT_MUL_ADD_( a.a, a.b, a.alpha, b.a, b.alpha, a.t_ab ); }

/* mmuladd = mmul - mat_scaled */
inline _CvMAT_MUL_ADD_ operator - ( const _CvMAT_MUL_& a, const _CvMAT_SCALE_& b )
{   return _CvMAT_MUL_ADD_( a.a, a.b, a.alpha, b.a, -b.alpha, a.t_ab ); }

/* mmuladd = mat_scaled - mmul */
inline _CvMAT_MUL_ADD_ operator - ( const _CvMAT_SCALE_& b, const _CvMAT_MUL_& a )
{   return _CvMAT_MUL_ADD_( a.a, a.b, -a.alpha, b.a, b.alpha, a.t_ab ); }

/* mmuladd = mmul + (mat^t) */
inline _CvMAT_MUL_ADD_ operator + ( const _CvMAT_MUL_& a, const _CvMAT_T_& b )
{   return _CvMAT_MUL_ADD_( a.a, a.b, a.alpha, &b.a, b.alpha, a.t_ab + 4 );  }

/* mmuladd = (mat^t) + mmul */
inline _CvMAT_MUL_ADD_ operator + ( const _CvMAT_T_& b, const _CvMAT_MUL_& a )
{   return _CvMAT_MUL_ADD_( a.a, a.b, a.alpha, &b.a, b.alpha, a.t_ab + 4 );  }

/* mmuladd = mmul - (mat^t) */
inline _CvMAT_MUL_ADD_ operator - ( const _CvMAT_MUL_& a, const _CvMAT_T_& b )
{   return _CvMAT_MUL_ADD_( a.a, a.b, a.alpha, &b.a, -b.alpha, a.t_ab + 4 );  }

/* mmuladd = (mat^t) - mmul */
inline _CvMAT_MUL_ADD_ operator - ( const _CvMAT_T_& b, const _CvMAT_MUL_& a )
{   return _CvMAT_MUL_ADD_( a.a, a.b, -a.alpha, &b.a, b.alpha, a.t_ab + 4 );  }


/* mmuladd = mat_scaled_shited * mat */
inline _CvMAT_MUL_ADD_ operator * ( const _CvMAT_SCALE_SHIFT_& a, const CvMAT& b )
{   return _CvMAT_MUL_ADD_( a.a, &b, a.alpha, &b, a.beta, 0 );  }

/* mmuladd = mat * mat_scaled_shited */
inline _CvMAT_MUL_ADD_ operator * ( const CvMAT& b, const _CvMAT_SCALE_SHIFT_& a )
{   return _CvMAT_MUL_ADD_( &b, a.a, a.alpha, &b, a.beta, 0 );  }

/* mmuladd = mat_scaled_shited * mat_scaled */
inline _CvMAT_MUL_ADD_ operator * ( const _CvMAT_SCALE_SHIFT_& a, const _CvMAT_SCALE_& b )
{   return _CvMAT_MUL_ADD_( a.a, b.a, a.alpha*b.alpha, b.a, a.beta*b.alpha, 0 );  }

/* mmuladd = mat_scaled * mat_scaled_shited */
inline _CvMAT_MUL_ADD_ operator * ( const _CvMAT_SCALE_& b, const _CvMAT_SCALE_SHIFT_& a )
{   return _CvMAT_MUL_ADD_( b.a, a.a, a.alpha*b.alpha, b.a, a.beta*b.alpha, 0 );  }

/* mmuladd = mat_scaled_shited * (mat^t) */
inline _CvMAT_MUL_ADD_ operator * ( const _CvMAT_SCALE_SHIFT_& a, const _CvMAT_T_& b )
{   return _CvMAT_MUL_ADD_( a.a, &b.a, a.alpha*b.alpha, &b.a, a.beta*b.alpha, 6 );  }

/* mmuladd = (mat^t) * mat_scaled_shited */
inline _CvMAT_MUL_ADD_ operator * ( const _CvMAT_T_& b, const _CvMAT_SCALE_SHIFT_& a )
{   return _CvMAT_MUL_ADD_( &b.a, a.a, a.alpha*b.alpha, &b.a, a.beta*b.alpha, 5 );  }

/* mmuladd2 = mmuladd1 * scalar */
inline _CvMAT_MUL_ADD_ operator * ( const _CvMAT_MUL_ADD_& a, double alpha )
{   return _CvMAT_MUL_ADD_( a.a, a.b, a.alpha*alpha, a.c, a.beta*alpha, a.t_abc ); }

/* mmuladd2 = scalar * mmuladd1 */
inline _CvMAT_MUL_ADD_ operator * ( double alpha, const _CvMAT_MUL_ADD_& a )
{   return _CvMAT_MUL_ADD_( a.a, a.b, a.alpha*alpha, a.c, a.beta*alpha, a.t_abc ); }

/* -mmuladd */
inline _CvMAT_MUL_ADD_ operator - ( const _CvMAT_MUL_ADD_& a )
{   return _CvMAT_MUL_ADD_( a.a, a.b, -a.alpha, a.c, -a.beta, a.t_abc ); }

/* inv(a)*b, i.e. solve a*x = b */
inline _CvMAT_SOLVE_ operator * ( const _CvMAT_INV_& a, const CvMAT& b )
{   return _CvMAT_SOLVE_( &a.a, &b, a.method );    }


/*
* PART III. Logical operations
*/
inline _CvMAT_NOT_ operator ~ ( const CvMAT& a )
{   return _CvMAT_NOT_(&a); }

inline _CvMAT_LOGIC_ operator & ( const CvMAT& a, const CvMAT& b )
{   return _CvMAT_LOGIC_( &a, &b, _CvMAT_LOGIC_::AND, 0 ); }

inline _CvMAT_LOGIC_ operator & ( const _CvMAT_NOT_& a, const CvMAT& b )
{   return _CvMAT_LOGIC_( a.a, &b, _CvMAT_LOGIC_::AND, 1 ); }

inline _CvMAT_LOGIC_ operator & ( const CvMAT& a, const _CvMAT_NOT_& b )
{   return _CvMAT_LOGIC_( &a, b.a, _CvMAT_LOGIC_::AND, 2 ); }

inline _CvMAT_LOGIC_ operator & ( const _CvMAT_NOT_& a, const _CvMAT_NOT_& b )
{   return _CvMAT_LOGIC_( a.a, b.a, _CvMAT_LOGIC_::AND, 3 ); }


inline _CvMAT_LOGIC_ operator | ( const CvMAT& a, const CvMAT& b )
{   return _CvMAT_LOGIC_( &a, &b, _CvMAT_LOGIC_::OR, 0 ); }

inline _CvMAT_LOGIC_ operator | ( const _CvMAT_NOT_& a, const CvMAT& b )
{   return _CvMAT_LOGIC_( a.a, &b, _CvMAT_LOGIC_::OR, 1 ); }

inline _CvMAT_LOGIC_ operator | ( const CvMAT& a, const _CvMAT_NOT_& b )
{   return _CvMAT_LOGIC_( &a, b.a, _CvMAT_LOGIC_::OR, 2 ); }

inline _CvMAT_LOGIC_ operator | ( const _CvMAT_NOT_& a, const _CvMAT_NOT_& b )
{   return _CvMAT_LOGIC_( a.a, b.a, _CvMAT_LOGIC_::OR, 3 ); }


inline _CvMAT_LOGIC_ operator ^ ( const CvMAT& a, const CvMAT& b )
{   return _CvMAT_LOGIC_( &a, &b, _CvMAT_LOGIC_::XOR, 0 ); }

inline _CvMAT_LOGIC_ operator ^ ( const _CvMAT_NOT_& a, const CvMAT& b )
{   return _CvMAT_LOGIC_( a.a, &b, _CvMAT_LOGIC_::XOR, 1 ); }

inline _CvMAT_LOGIC_ operator ^ ( const CvMAT& a, const _CvMAT_NOT_& b )
{   return _CvMAT_LOGIC_( &a, b.a, _CvMAT_LOGIC_::XOR, 2 ); }

inline _CvMAT_LOGIC_ operator ^ ( const _CvMAT_NOT_& a, const _CvMAT_NOT_& b )
{   return _CvMAT_LOGIC_( a.a, b.a, _CvMAT_LOGIC_::XOR, 3 ); }


inline _CvMAT_UN_LOGIC_ operator & ( const CvMAT& a, double alpha )
{   return _CvMAT_UN_LOGIC_( &a, alpha, _CvMAT_LOGIC_::AND, 0 ); }

inline _CvMAT_UN_LOGIC_ operator & ( double alpha, const CvMAT& a )
{   return _CvMAT_UN_LOGIC_( &a, alpha, _CvMAT_LOGIC_::AND, 0 ); }

inline _CvMAT_UN_LOGIC_ operator & ( const _CvMAT_NOT_& a, double alpha )
{   return _CvMAT_UN_LOGIC_( a.a, alpha, _CvMAT_LOGIC_::AND, 1 ); }

inline _CvMAT_UN_LOGIC_ operator & ( double alpha, const _CvMAT_NOT_& a )
{   return _CvMAT_UN_LOGIC_( a.a, alpha, _CvMAT_LOGIC_::AND, 1 ); }


inline _CvMAT_UN_LOGIC_ operator | ( const CvMAT& a, double alpha )
{   return _CvMAT_UN_LOGIC_( &a, alpha, _CvMAT_LOGIC_::OR, 0 ); }

inline _CvMAT_UN_LOGIC_ operator | ( double alpha, const CvMAT& a )
{   return _CvMAT_UN_LOGIC_( &a, alpha, _CvMAT_LOGIC_::OR, 0 ); }

inline _CvMAT_UN_LOGIC_ operator | ( const _CvMAT_NOT_& a, double alpha )
{   return _CvMAT_UN_LOGIC_( a.a, alpha, _CvMAT_LOGIC_::OR, 1 ); }

inline _CvMAT_UN_LOGIC_ operator | ( double alpha, const _CvMAT_NOT_& a )
{   return _CvMAT_UN_LOGIC_( a.a, alpha, _CvMAT_LOGIC_::OR, 1 ); }


inline _CvMAT_UN_LOGIC_ operator ^ ( const CvMAT& a, double alpha )
{   return _CvMAT_UN_LOGIC_( &a, alpha, _CvMAT_LOGIC_::XOR, 0 ); }

inline _CvMAT_UN_LOGIC_ operator ^ ( double alpha, const CvMAT& a )
{   return _CvMAT_UN_LOGIC_( &a, alpha, _CvMAT_LOGIC_::XOR, 0 ); }

inline _CvMAT_UN_LOGIC_ operator ^ ( const _CvMAT_NOT_& a, double alpha )
{   return _CvMAT_UN_LOGIC_( a.a, alpha, _CvMAT_LOGIC_::XOR, 1 ); }

inline _CvMAT_UN_LOGIC_ operator ^ ( double alpha, const _CvMAT_NOT_& a )
{   return _CvMAT_UN_LOGIC_( a.a, alpha, _CvMAT_LOGIC_::XOR, 1 ); }


/*
* PART IV. Comparison operations
*/
inline _CvMAT_CMP_ operator > ( const CvMAT& a, const CvMAT& b )
{   return _CvMAT_CMP_( &a, &b, CV_CMP_GT ); }

inline _CvMAT_CMP_ operator >= ( const CvMAT& a, const CvMAT& b )
{   return _CvMAT_CMP_( &a, &b, CV_CMP_GE ); }

inline _CvMAT_CMP_ operator < ( const CvMAT& a, const CvMAT& b )
{   return _CvMAT_CMP_( &a, &b, CV_CMP_LT ); }

inline _CvMAT_CMP_ operator <= ( const CvMAT& a, const CvMAT& b )
{   return _CvMAT_CMP_( &a, &b, CV_CMP_LE ); }

inline _CvMAT_CMP_ operator == ( const CvMAT& a, const CvMAT& b )
{   return _CvMAT_CMP_( &a, &b, CV_CMP_EQ ); }

inline _CvMAT_CMP_ operator != ( const CvMAT& a, const CvMAT& b )
{   return _CvMAT_CMP_( &a, &b, CV_CMP_NE ); }


inline _CvMAT_CMP_ operator > ( const CvMAT& a, double alpha )
{   return _CvMAT_CMP_( &a, alpha, CV_CMP_GT ); }

inline _CvMAT_CMP_ operator > ( double alpha, const CvMAT& a )
{   return _CvMAT_CMP_( &a, alpha, CV_CMP_LT ); }

inline _CvMAT_CMP_ operator >= ( const CvMAT& a, double alpha )
{   return _CvMAT_CMP_( &a, alpha, CV_CMP_GE ); }

inline _CvMAT_CMP_ operator >= ( double alpha, const CvMAT& a )
{   return _CvMAT_CMP_( &a, alpha, CV_CMP_LE ); }

inline _CvMAT_CMP_ operator < ( const CvMAT& a, double alpha )
{   return _CvMAT_CMP_( &a, alpha, CV_CMP_LT ); }

inline _CvMAT_CMP_ operator < ( double alpha, const CvMAT& a )
{   return _CvMAT_CMP_( &a, alpha, CV_CMP_GT ); }

inline _CvMAT_CMP_ operator <= ( const CvMAT& a, double alpha )
{   return _CvMAT_CMP_( &a, alpha, CV_CMP_LE ); }

inline _CvMAT_CMP_ operator <= ( double alpha, const CvMAT& a )
{   return _CvMAT_CMP_( &a, alpha, CV_CMP_GE ); }

inline _CvMAT_CMP_ operator == ( const CvMAT& a, double alpha )
{   return _CvMAT_CMP_( &a, alpha, CV_CMP_EQ ); }

inline _CvMAT_CMP_ operator == ( double alpha, const CvMAT& a )
{   return _CvMAT_CMP_( &a, alpha, CV_CMP_EQ ); }

inline _CvMAT_CMP_ operator != ( const CvMAT& a, double alpha )
{   return _CvMAT_CMP_( &a, alpha, CV_CMP_NE ); }

inline _CvMAT_CMP_ operator != ( double alpha, const CvMAT& a )
{   return _CvMAT_CMP_( &a, alpha, CV_CMP_NE ); }


/*
* PART V. Speedup for some augmented assignments to CvMAT
*/

inline CvMAT& CvMAT::operator += ( const _CvMAT_SCALE_& scale_mat )
{   return (*this = *this + scale_mat); }

inline CvMAT& CvMAT::operator += ( const _CvMAT_SCALE_SHIFT_& scale_mat )
{   return (*this = *this + scale_mat); }

inline CvMAT& CvMAT::operator += ( const _CvMAT_MUL_& mmul )
{   return (*this = mmul + *this);  }

inline CvMAT& CvMAT::operator -= ( const _CvMAT_SCALE_& scale_mat )
{   return (*this = *this - scale_mat);  }

inline CvMAT& CvMAT::operator -= ( const _CvMAT_SCALE_SHIFT_& scale_mat )
{   return (*this = *this - scale_mat);  }

inline CvMAT& CvMAT::operator -= ( const _CvMAT_MUL_& mmul )
{   return (*this = -mmul + *this);  }

inline CvMAT& CvMAT::operator *= ( const _CvMAT_SCALE_& scale_mat )
{   return (*this = *this * scale_mat);  }

inline CvMAT& CvMAT::operator *= ( const _CvMAT_SCALE_SHIFT_& scale_mat )
{   return (*this = *this * scale_mat);  }

/****************************************************************************************\
*                        misc. operations on temporary matrices (+,-,*)                  *
\****************************************************************************************/

inline _CvMAT_TMP_::_CvMAT_TMP_() : CvMAT() {}

inline _CvMAT_TMP_::_CvMAT_TMP_( const _CvMAT_TMP_& mat ) : CvMAT( (const CvMat&)mat )
{   type |= CV_MAT_TEMP_FLAG;   }

inline _CvMAT_TMP_& _CvMAT_TMP_::operator = ( const _CvMAT_TMP_& mat )
{
    if( this != &mat )
    {
        release();
        memcpy( this, &mat, sizeof(mat));
        if( refcount )
            (*refcount)++;
    }
    return *this;
}

inline  _CvMAT_TMP_::_CvMAT_TMP_( const _CvMAT_T_& mat_t ) : CvMAT( mat_t )
{   type |= CV_MAT_TEMP_FLAG;   }

inline  _CvMAT_TMP_::_CvMAT_TMP_( const _CvMAT_INV_& inv_mat ) : CvMAT( inv_mat )
{   type |= CV_MAT_TEMP_FLAG;   }

inline  _CvMAT_TMP_::_CvMAT_TMP_( const _CvMAT_ADD_& mat_add ) : CvMAT( mat_add )
{   type |= CV_MAT_TEMP_FLAG;   }

inline  _CvMAT_TMP_::_CvMAT_TMP_( const _CvMAT_ADD_EX_& mat_add ) : CvMAT( mat_add )
{   type |= CV_MAT_TEMP_FLAG;   }

inline  _CvMAT_TMP_::_CvMAT_TMP_( const _CvMAT_SCALE_& scale_mat ) : CvMAT( scale_mat )
{   type |= CV_MAT_TEMP_FLAG;   }

inline  _CvMAT_TMP_::_CvMAT_TMP_( const _CvMAT_SCALE_SHIFT_& scale_shift_mat ) : CvMAT( scale_shift_mat )
{   type |= CV_MAT_TEMP_FLAG;   }

inline  _CvMAT_TMP_::_CvMAT_TMP_( const _CvMAT_MUL_& mmul ) : CvMAT( mmul )
{   type |= CV_MAT_TEMP_FLAG;   }

inline  _CvMAT_TMP_::_CvMAT_TMP_( const _CvMAT_MUL_ADD_& mmuladd ) : CvMAT( mmuladd )
{   type |= CV_MAT_TEMP_FLAG;   }

inline  _CvMAT_TMP_::_CvMAT_TMP_( const _CvMAT_LOGIC_& mat_logic ) : CvMAT( mat_logic )
{   type |= CV_MAT_TEMP_FLAG;   }

inline  _CvMAT_TMP_::_CvMAT_TMP_( const _CvMAT_UN_LOGIC_& mat_logic ) : CvMAT( mat_logic

⌨️ 快捷键说明

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