2013-10-26 4 views
2

prevPts = new MatOfPoint2f(prev);Несовместимые Мат в OpenCV для Android

prev является Mat;

Первая строка prevPts = new MatOfPoint2f(prev); повышений и исключение Несовместимые MAT. Я не понимаю, почему это делается. API говорит, что MatOfPoint2f может принимать MAT.

ответ

0

Конструктор нового MatofPoint2f (MAT):

public MatOfPoint2f(Mat m) { 
     super(m, Range.all()); 
     if(!empty() && checkVector(_channels, _depth) < 0) 
      throw new IllegalArgumentException("Incompatible Mat"); 
     //FIXME: do we need release() here? 
    } 

проверить ваш объект MAT

1

Вы могли бы использовать:

MatOfPoint matOfPoint = ...code to receive ... 

MatOfPoint2f mat2f = new MatOfPoint2f(); 
matOfPoint.convertTo(mat2f, CvType.CV_32FC2); 
Смежные вопросы