Перейти к содержимому
Compvision.ru

femida1029

Пользователи
  • Количество публикаций

    2
  • Зарегистрирован

  • Посещение

Репутация

0 Новичек

О femida1029

  • Звание
    Новичок
  1. CvSeq и pointPolygonTest

    Здравствуйте, Smorodov. Спасибо за ответ. Я использую Opencv 1.1 , а билдер 6. Где-то в Интернете прочитала, что файлы Opencv 2.0 и выше в 6 билдере скомпилировать невозможно. Конструкция vector<vector<Point> > не сработала, т.е запись в массив происходит, а вот считать записи не получается, да и использовать как CvArr не получается. Ниже мой код. CvPoint *PointArray; vector <CvArr*> v4; //пробовала определять vector <CvPoint*> v4; k=0; for(CvSeq *seq0 = contour;seq0!=NULL;seq0 = seq0->h_next) { count = seq0 ->total; PointArray = (CvPoint *)malloc(count * sizeof(CvPoint)); cvCvtSeqToArray(seq0, PointArray, CV_WHOLE_SEQ); double area = fabs(cvContourArea(seq0)); double perim = cvContourPerimeter(seq0); if(area>50 && perim>50 && count >10) { v4.push_back(PointArray); k++;} } // здесь я пытаюсь обратиться к контуру PointArray = (CvPoint *)malloc(count * sizeof(CvPoint)); PointArray=v4[0] ; CvMat a; //на следующих строка программа вылетает. a = cvMat(k, 1, CV_64FC1,PointArray); //или a=cvCreateMat(k,2,CV_64FC1,v4[0]); //даже в этой строке ошибка int dims = cvGetDims( PointArray ); Подскажите мне, что я не так делаю.
  2. CvSeq и pointPolygonTest

    Здравствуйте. Помогите, пожалуйста, разобраться. Мне необходимо векторизовать чертеж, я использую стандартную функцию: int Nc =cvFindContours( gray, storage,&contour,sizeof(CvContour),CV_RETR_LIST,CV_CHAIN_APPROX_SIMPLE,cvPoint(0,0)); В переменной Nc получаю значение 510, а contour ->total =8. На самом деле контуров 510, а 8 , возможно, внешних. 1)Возможно ли записать contour в массив, чтобы обращаться к i контуру (contour)? 2)Как удалить ненужный контур? Такая запись не дала результата: for(CvSeq* seq0 = contour;seq0!=NULL;seq0 = seq0->h_next) { …………….// проверяю контур на пригодность, если не нужен, то ok=false if(ok=false){ seq0->h_prev=seq0->h_next; cvClearSeq(seq0); } } 3)Как привести CvSeq к Mat?
×