シーケンスの作成とストレージの関連付けは
cvCreateSeq()で行う。
[例]:int型のデータをシーケンスとして積む場合
CvMemStorage *storage;
storage = cvCreateMemStorage(); //ストレージ作成
CvSeq *data;
data = cvCreateSeq (CV_SEQ_ELTYPE_INDEX , sizeof (CvSeq), sizeof (int), storage); //シーケンス作成
CvSeq* cvCreateSeq( int seq_flags, int header_size, int elem_size, CvMemStorage* storage );
―第1引数―
シーケンスとなるデータがOpenCVではどのフラグなのかを指定する。
例えば、
- int型:CV_32SC1(→ マクロとして「CV_SEQ_ELTYPE_INDEX」がある)
- CvPoint型:CV_32SC2(→ マクロとして「CV_SEQ_ELTYPE_POINT」がある)
―第2引数―
とりあえずsizeof (CvSeq)を指定する。(詳しくはリファレンス参照)
―第3引数―
sizeof(データ型)を指定。
―第4引数―
メモリストレージ(格納場所)を指定。