我正在使用ndk-build在原生Android应用上使用OpenCV(版本3.2)。 我得到了一个我无法解决的错误。
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 :(得分:0)
供未来参考。
寻找一段时间......
我正在使用包含旧版OpenCV的外部模块(即ros indigo)。它与我使用的新版本(OpenCV 3.2)冲突。
解决方案是将android.mk(或cmake)中的两个模块分开。
但在此之后,对于ndk-build用户,包含文件无法在模块中正确找到... stackoverflow post