关于vector的erase使用

CvSeqWriter writer1,writer2;
 CvMemStorage* storage1 = cvCreateMemStorage(0);
 CvMemStorage* storage2 = cvCreateMemStorage(0);
 CvSeq* point_seq1=cvCreateSeq( CV_32SC2, sizeof(CvSeq), sizeof(CvPoint), storage1 );
 CvSeq* point_seq2=cvCreateSeq( CV_32SC2, sizeof(CvSeq), sizeof(CvPoint), storage2 );
 cvStartAppendToSeq(point_seq1, &writer1 );
 cvStartAppendToSeq(point_seq2, &writer2 );
 CvPoint point1,point2;
 matchingslist::iterator ptr1 = matchings1.begin();
 for(i=0; i < (int) matchings1.size(); i++, ptr1++)
 {
  for (n=0;n<num_bins;n++)  
  {
   if ( bins_num1[n]<=2 &&ptr1->first.x>bins*n&&ptr1->first.x<=bins*(n+1) )
    ptr1=matchings1.erase(ptr1);  ///神奇见证,仅matchings1.erase(ptr1); 会报错
   else
   {
    point1.x=ptr1->first.x;
    point1.y=ptr1->first.y;
    point2.x=ptr1->second.x;
    point2.y=ptr1->second.y;
    CV_WRITE_SEQ_ELEM(point1, writer1);
    CV_WRITE_SEQ_ELEM(point2, writer2);
    point2.x+=pFrame1->width+band_w;
    cvLine(matchedimg1, point1, point2, CV_RGB(255,0,0), 1, 8, 0 );
   }
  }
 }
 cvEndWriteSeq( &writer1);
 cvEndWriteSeq( &writer2);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值