1)序列在内部其实对应一个双端序列。因此,我们可以高效地从序列的任意一端(开头和结尾)访问序列。这样我们可以很自然地将序列做一个栈使用。与CvSeq结构一起使用,下面六个函数可将序列封装成一个栈(准确来说,是双端队列,因此它们可以两端操作元素)。
char * cvSeqPush(CvSeq *seq, void *element = NULL);//压栈
char * cvSeqPushFront(CvSeq *seq,void *element =NULL);
void * cvSeqPop(CvSeq * seq, void *element=NULL);//出栈
void cvSeqPushMulti(CvSeq *seq, void *elements, int count, int in_front=0); //多个元素压栈
void cvSeqPopMulti(CvSeq *seq, void *elements, int count, int in_front=0);//多个元素出栈
上面有一个参数用于指定序列的开头还是结尾。可以用宏来表示开头或结尾:
CV_FRONT(1)对应开头。
CV_BACK(0)对应结尾。
2)pow
POW是C/C++中的数学函数。
原型:在TC2.0中原型为extern float pow(float x, float y); ,而在VC6.0中原型为double pow( double x, double y );
头文件:math.h/cmath(C++中)
功能:计算x的y次幂。
返回值:x不能为负数且y为小数,或者x为0且y小于等于0,返回幂指数的结果。
返回类型:double型,int,float会给与警告!