CvSeq相關函式

2021-05-24 09:18:20 字數 2130 閱讀 7172

函式原型

說明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 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 cvcreateseq int seq flags,int header size,int elem size,cvmemstorage storage 功能 建立一串行 引數 seq flags為序列的符號標誌。如果序列不會被傳遞給任何使用特定序列的函式,那麼將它設為0,...

CvSeq 的記憶體釋放問題

key words opencv,cvseq,cvreleasememstorage cvseq 是opencv裡動態結構中的一種非常重要的型別,主要由sequence header和sequence data組成。cvcreateseq int seq flags,int header size,...

序列資料結構 CvSeq

序列是記憶體儲存器中可以儲存的一種物件。在opencv中,序列可以儲存多種不同的結構。你可以將 序列想象為許多程式語言中都存在的容器類或容器類模版 如c 中的vector 序列在記憶體被實現為乙個雙端佇列 deque 因此 序列可以實現快速的隨機訪問,已經快速刪除頂端的元素,但是從中間刪除元素則稍慢...