android直接利用opencv打开摄像头失败原因及解决方案

先说结论:

截止到目前2019.7.10,直接利用cv::videocapture(0)打开不支持!

 

替代方案:

1.利用Java的camera2(>5.0)https://developer.android.com/reference/android/hardware/camera2/package-summary

2.利用C++ NDK Camera(>7.0)https://developer.android.com/ndk/reference/group/camera

谷歌NDK可用例子https://github.com/googlesamples/android-ndk/tree/master/camera

3.如果是uvc摄像头,可以参考:https://github.com/saki4510t/UVCCamera

 

==================================================================

 

早在2018.7再opencv的issue里就有人提问,为啥安卓调用摄像头一直失败,ios和其他平台都没问题

android直接利用opencv打开摄像头失败原因及解决方案_第1张图片

 

下面讨论热烈,不仅打开摄像头不支持,安卓端打开视频也有问题

究其原因,主要是旧版NDK里没有摄像头的API

android直接利用opencv打开摄像头失败原因及解决方案_第2张图片

但是,从7.0开始NDK里又有API了,这就给打开摄像头带来了一丝可能性

 

2019.03开始opencv支持在安卓端打开视频了!

详情见pull:https://github.com/opencv/opencv/pull/14005

然而还是不支持打开摄像头(pull里也有人提问了)

 

大佬尝试配合最新NDK利用opencv打开摄像头,好像一个小哥测试了出了很多问题

https://github.com/komakai/opencv/tree/android-ndk-camera

 

或许再过几个月最新的master分支究支持直接打开opencv了,但是目前还是只能

android直接利用opencv打开摄像头失败原因及解决方案_第3张图片

 

 

 

 

你可能感兴趣的:(opencv,Android,android,opencv,camera,camera,videocapture,android,camera,android)