【发布时间】:2013-08-07 16:35:49
【问题描述】:
这里有很多这样的问题,Qt 站点和 OpenCV 站点,但没有一个完全符合我的情况。 (反正很多都没有答案。)
我正在使用适用于 Android 2.4.6 的 OpenCV(可从官方网站下载的预构建版本) 在带有 Qt 5.0.1 for Android 的 Samsung Galaxy Note 2 上构建适用于 Android (4.1.2) 的本机应用程序 (使用 QtCreator 2.7.2)在 x86_64 Linux 主机上。
我已链接到 ../sdk/native/libs/armeabi-v7a 文件夹中的库。 (我没有从源代码构建 OpenCV,我只是使用下载包中的内容)。这包括一个 libopencv_androidcam.a 库。 (而且我也尝试过 libnative_camera_r4.1.1.so 共享库。) 我还下载了市场应用“OpenCV Manager”。
示例目录中的示例 .apks 可以在我的手机上运行,但我没有尝试自己构建它们,因为我没有设置 Java 开发环境。
启动包含cv::VideoCapture inputCapture(CV_CAM_ANDROID); 语句的应用程序,我收到以下错误并且没有摄像头输入:
E/OpenCV::camera(15299): CameraWrapperConnector::connectToLib ERROR: cannot dlopen camera wrapper library
E/OpenCV::camera(15299): Native_camera returned opening error: 4
我的问题:
- 这应该有效吗?我见过很多 错误报告,但都是较旧的 OpenCV 版本和较新/较旧 安卓版本。有的话加分 已经看到在这部手机上工作 型号。
- 下载的 OpenCV Android SDK 是否应该开箱即用?或者我是否需要使用一些特殊选项从源代码构建 OpenCV? (哪些?)
- 我是否需要手机本身的特殊库版本?我是否需要对设备具有 root 访问权限才能执行此操作?
- 是否有任何使用本机代码而不是 Java 的“已知有效”的 Andoid 示例?
非常感谢您的帮助!
【问题讨论】:
-
“我没有设置 Java 开发环境” - 那么您打算如何进行 Android 开发,因为即使主要是原生 (C/C++) 应用程序也需要 Java?
-
Qt5 自动处理最小 Java 程序的生成。这也可能是问题的一部分。
-
我认为你必须使用“CV_CAP_ANDROID”。