OpenCv学习笔记(1)---CvTermCriteria---迭代算法终止条件结构体的---OpenCV源码分析

/*********************************************************************************************
程序功能:
        1--CvTermCriteria---迭代算法终止条件结构体的---OpenCV源码分析
		
编写环境:
        OpenCv2.4.8+VS2010
地点时间:
        陕西师范大学 2016.4.22
作者信息:
        九月
**********************************************************************************************/
/*********************************** CvTermCriteria *************************************/
//源代码位于types_c.h
//【1】CvTermCriteria---(Termination criteria for iterative algorithms)
//【2】迭代算法的终止条件
#define CV_TERMCRIT_ITER    1
#define CV_TERMCRIT_NUMBER  CV_TERMCRIT_ITER
#define CV_TERMCRIT_EPS     2

typedef struct CvTermCriteria
{
	//【1】int type--type of the termination criteria,one of:
	//【1】int type---迭代算法终止条件的类型,是下面之一:
			//【1】CV_TERMCRIT_ITER---在完成最大的迭代次数之后,停止算法
			//【2】CV_TERMCRIT_EPS----当算法的精确度小于参数double epsilon指定的精确度时,停止算法
			//【3】CV_TERMCRIT_ITER+CV_TERMCRIT_EPS--无论是哪一个条件先达到,都停止算法
    int    type;  /* may be combination of
                     CV_TERMCRIT_ITER
                     CV_TERMCRIT_EPS */
	//【2】Maximum number of iterations
	//【2】最大的迭代次数
    int    max_iter;
	//【3】Required accuracy
	//【3】所要求的精确度
    double epsilon;
}
CvTermCriteria;
//【2】底下这个函数的功能类似于构造函数,但是看清楚,它并不是构造函数
CV_INLINE  CvTermCriteria  cvTermCriteria( int type, int max_iter, double epsilon )
{
    CvTermCriteria t;

    t.type = type;
    t.max_iter = max_iter;
    t.epsilon = (float)epsilon;

    return t;
}
/*********************************************************************************************
*功能描述:
*      上面的--struct CvTermCriteria---迭代算法终止结构体在OpenCv2.x以及更新的版本中,已经被封装
*   成了class TermCriteria类
**********************************************************************************************/
/*!
 //迭代算法中的终止条件
 Termination criteria in iterative algorithms
 */
class CV_EXPORTS TermCriteria
{
public:
    enum
    {
        COUNT=1, //!< the maximum number of iterations or elements to compute
        MAX_ITER=COUNT, //!< ditto
        EPS=2 //!< the desired accuracy or change in parameters at which the iterative algorithm stops
    };

    //! default constructor
	//【1】默认构造函数
    TermCriteria();
    //! full constructor
	//【2】完全构造函数
    TermCriteria(int type, int maxCount, double epsilon);
    //! conversion from CvTermCriteria
	//【3】CvTermCriteria结构体和TermCriteria类的转换构造函数
    TermCriteria(const CvTermCriteria& criteria);
    //! conversion to CvTermCriteria
    operator CvTermCriteria() const;
    //【4】TermCriteria类的三个数据成员----终止条件的类型,最大迭代次数,所期望的精度
    int type; //!< the type of termination criteria: COUNT, EPS or COUNT + EPS
    int maxCount; // the maximum number of iterations/elements
    double epsilon; // the desired accuracy
};








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值