2017-07-26 10 views
0

ndk-buildを使用しているネイティブAndroidアプリでOpenCV(バージョン3.2)を使用しています。 私は逃げることができないというエラーを受けました。Androidアプリケーションで「OpenCVエラー:機能/機能が実装されていません」

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; 
} 

任意のアイデア?

ありがとうございました。

+0

あなたは全体のスタックトレースを取得することはできますか? (少なくともOpenCV関連のフレーム) –

答えて

0

将来の参考にしてください。しばらくの間、検索した後

...

私はOpenCVの古いバージョンが含まれていること(すなわち、藍をROS)外部モジュールを使用しています。それは私が使っている新しいバージョン(OpenCV 3.2)と衝突する。

解決策は、android.mk(またはcmake)の2つのモジュールを分離することです。

が、その後、NDK-構築ユーザーのために、ファイルがモジュール間で正しく見つけられないだろう...などstackoverflow post

関連する問題