函数原型 | 说明 |
CvSeq* cvCreateSeq(int seq_flags,int header_size,int elem_size,CvMemStorage* storage) | 功能:创建一序列 参数:seq_flags为序列的符号标志。如果序列不会被传递给任何使用特定序列的函数,那么将它设为0,否则从预定义的序列类型中选择一合适的类型。 Header_size为序列头部的大小;必须大于或等于sizeof(CvSeq)。如果制定了类型或它的扩展名,则此类型必须适合基类的头部大小。 Elem_size为元素的大小,以字节计。这个大小必须与序列类型(由seq_flags指定)相一致。例如,对于一个点的序列,元素类型 CV_SEQ_ELTYPE_POINT应当被指定,参数elem_size必须等同于sizeof(CvPoint)。Storage为指向前面定义的 内存存储器 |
CvSeq* cvCloneSeq(const CvSeq* seq,CvMemStorage* storage=NULL) | 功能:创建序列的一份拷贝 |
Void cvSeqInvert(CvSeq* seq) | 功能:将序列中的元素进行逆序操作 |
Void cvSeqSort(CvSeq* seq,CvCmpFunc func,void *userdata=NULL) | 功能:使用特定的比较函数对序列中的元素进行排序 |
Char* cvSeqSearch(CvSeq* seq,const void* elem,CvCmpFunc func,int is_sorted,int *elem_idx,void *userdata=NULL) | 功能:查询序列中的元素 |
Void cvClearSeq(CvSeq* seq); | 功能:清空序列 |
Char* cvSeqPush(CvSeq* seq,void* element=NULL) | 功能:添加元素到序列的尾部 |
void cvSeqPop(CvSeq* seq,void* element=NULL) |
功能:删除序列尾部元素 |
Char* cvSeqPushFront(CvSeq* seq,void* element=NULL) |
功能:在序列头部添加元素 |
Void cvSeqPopFront(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) |
功能:删除多个序列头部或尾部元素 |
Char* cvSeqInsert(CvSeq* seq,int before_index,void* element=NULL) |
功能:在序列中的指定位置添加元素 |
Void cvSeqRemove(CvSeq* seq,int index) |
功能:删除序列中的指定位置的元素 |
Char* cvGetSeqElem(const CvSeq* seq,int index) |
功能:返回索引所指定的元素指针 |
Int cvSeqElemIdx(const CvSeq* seq,const void* element,CvSeqBlock** block=NULL) |
功能:返回序列中元素的索引 |
Void cvStartAppendToSeq(CvSeq* seq,CvSeqWriter* writer) |
功能:将数据写入序列中,并初始化该过程 |
Void cvStartWriteSeq(int seq_flags,int header_size,int elem_size,CvMemStorage* storage,CvSeqWriter* writer) |
功能:创建新序列,并初始化写入部分 |
CvSeq* cvEndWriteSeq(CvSeqWriter* writer) |
功能:完成写入操作 |
Void cvStartReadSeq(const CvSeq* seq,CvSeqReader* reader,int reverse=0) |
功能:初始化序列中的读取过程 |
一直困惑于CvSeq到底是个什么样的东西,因为曾经拿到别人写的一个函数库,其返回值是一个CvSeq指针,我的任务是遍历所有的Sequence,然 后删除其中不符合要求的Sequence。由于没有文档,我当时并不知道我需要遍历的是Sequence还是Sequence中的Element。于是我 写下了类似如下的代码:
参考:http://hi.baidu.com/ltbing/blog/item/490d88948af27c14d21b7008.html
http://jackchongsun.blog.163.com/blog/static/4071607201019101312221/