Ошибка OpenCV: функция/функция не реализована в приложении Android

Я работаю с OpenCV (версия 3.2) в собственном приложении для Android, используя ndk-build. Я получил ошибку, которую я не могу обойти.

E/cv::error(): OpenCV Error: The function/feature is not implemented (Unknown/unsupported array type) in int cv::_InputArray::type(int) const, file /build/master_pack-android/opencv/modules/core/src/matrix.cpp, line 1931
A/libc: Fatal signal 6 (SIGABRT) at 0x00001f38 (code=-6), thread 8011 (CameraHandlerTh)

Используя отладчик, я нашел часть кода, которая выдает эту ошибку. cv::findHomography();

void Homography33::compute() {
  if ( valid ) return;

  std::vector<cv::Point2f> sPts;
  std::vector<cv::Point2f> dPts;
  for (int i=0; i<4; i++) {
    sPts.push_back(cv::Point2f(srcPts[i].first, srcPts[i].second));
  }
  for (int i=0; i<4; i++) {
    dPts.push_back(cv::Point2f(dstPts[i].first - cxy.first, dstPts[i].second - cxy.second));
  }
  cv::Mat homography = cv::findHomography(sPts, dPts); // throws error
  for (int c=0; c<3; c++) {
    for (int r=0; r<3; r++) {
      H(r,c) = homography.at<double>(r,c);
    }
  }

  valid = true;
}

Любая идея ?

Заранее спасибо,


person Tristan Kpka    schedule 26.07.2017    source источник
comment
Можете ли вы получить всю трассировку стека? (по крайней мере, кадры, связанные с OpenCV)   -  person Dan Mašek    schedule 26.07.2017


Ответы (1)


arrow_upward
0
arrow_downward

Для дальнейшего использования.

После поиска некоторое время...

Я использую внешний модуль (а именно ros indigo), который содержит более старую версию OpenCV. он конфликтует с более новой версией, которую я использую (OpenCV 3.2).

Решение состоит в том, чтобы разделить два модуля в файле android.mk (или cmake).

НО после этого для пользователей ndk-build включаемые файлы не будут правильно найдены в модулях... запись stackoverflow

person Tristan Kpka    schedule 27.07.2017