【问题标题】:Access Android camera with NDK使用 NDK 访问 Android 相机
【发布时间】:2015-05-19 14:18:25
【问题描述】:

我一直在试图弄清楚如何使用 NDK 使用其 HAL 接口访问 android 上的相机。 我已经从这里下载了所有相关文件: https://github.com/android/platform_hardware_libhardware/blob/master/include/hardware/camera.h

这里:

https://github.com/android/platform_system_core

似乎我设法获取了所有相关文件,但由于许多错误,该项目无法编译,从有问题的 makefile 开始,到缺少像这样的函数结束:

C:/android-ndk-r10d/samples/hello-jni/jni/camera/Camera.cpp:409:55: error: 'clone_camera_metadata' was not declared in this scope
         mSettings = clone_camera_metadata(new_settings);

有人设法使用相机 HAL 能否解释一下这个问题

谢谢

【问题讨论】:

  • 这不是为了工作,因为它不是一个公共接口。您可能会花费大量时间来研究使用私有内部功能的细节,结果却导致您的代码在另一台设备上或什至在同一台设备上升级了 Android 之后出现故障。
  • 代码应该在专用设备上运行,所以这不是问题
  • 那么您可能希望将其构建为 AOSP 构建系统的一部分,而不是与 NDK 一起构建。否则,您将不得不调整您的依赖项的一整套依赖项。或者,您可以像其他人一样使用稳定的、受支持的公共 Java 级 API。
  • 好吧,我正在尝试向 ndk 中已经编写的代码添加功能,所以我必须这样做。如果可能的话,我想只导入标题并为相机 HAL 使用 .so 对象。
  • 不,你不必那样做。

标签: android c++ camera android-ndk hal


【解决方案1】:

我知道您的问题的 2 个解决方案:

  • 您可以使用 OpenCV 获取相机当前帧。 OpenCV 非常适合 Android。
  • 对 java 使用一些不那么花哨的调用。

虽然我很高兴看到你成功地只使用 ndk 代码 :)(也许可以看看 OpenCV 人是如何让它工作的)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-07
    相关资源
    最近更新 更多