【问题标题】:JNI file doesn’t recognize vector<Mat>JNI 文件无法识别矢量<Mat>
【发布时间】:2023-03-03 02:43:02
【问题描述】:

我正在尝试使用 Open Cv 访问向量内部 Mat 中的像素,这种方式:

vector<Mat> digitsVect(9);
digitsVect[k].at<int>(i,j)

它在 Visual Studio - C++ 中运行良好 但在 Eclipse 的 JNI 文件中不起作用。 我得到错误:

符号at 无法解析。
无法解析方法at

感谢您的帮助:)

【问题讨论】:

  • Mat的声明是什么?
  • 因为它被标记为 OpenCV,所以它将是他们的 cv::Mat 类。但是我认为需要更多细节......
  • cv::mat 默认情况下不会包含在您的 JNI 库中,您确定您已正确处理库链接吗?据我所知,我必须在我的设备上安装一组 OpenCV 库
  • 垫子是:cv::Mat。我们将 Mat 推入向量的方式是: digitsVect.push_back( Mat(28,28,CV_32SC1,Scalar(0))) ;我们确实安装了所有 OpenCV 库(其他 opencv 函数正在处理不属于 Vector 的 Mats)

标签: android c++ eclipse opencv java-native-interface


【解决方案1】:

您是否尝试过忽略错误并构建项目?有时 Eclipse 不能正确识别标题或符号,尤其是使用 Android 开发人员工具时。如果您在构建过程中遇到编译器错误,它们应该更具体且更易于调试。

如果 Eclipse 由于感知到的错误而阻止您构建项目,您可以通过转到 Window > Preferences 并编辑 C++ 代码分析设置来关闭 Eclipse 的错误检查。

【讨论】:

  • 试过了,不行,可以运行代码,因为报错。
猜你喜欢
  • 1970-01-01
  • 2016-09-25
  • 2021-10-13
  • 1970-01-01
  • 2018-02-15
  • 1970-01-01
  • 1970-01-01
  • 2021-01-13
  • 2013-06-12
相关资源
最近更新 更多