美好的一天。当我注意到OpenCV库如何获取Android设备的视频输入时,我正在使用OpenCV构建一个Android应用程序。我使用的是Nexus 5 2nd Generation。
下面,我有一个OpenCV应用程序的截图,显示了一个正方形:
正如你所看到的,这个正方形似乎是拉伸的,现在是一个矩形。为了比较,这里是Camera应用程序的截图:
但是,从本机相机应用程序中截取的截图中,方块实际上是正方形。然后我改变了我的代码:
<org.opencv.android.JavaCameraView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/color_blob_detection_activity_surface_view" />
到
<org.opencv.android.NativeCameraView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/color_blob_detection_activity_surface_view" />
这适用于运行Android 4.0-4.4的设备,但是,当我在运行Lollipop(5.0)的Nexus 5上运行它时,它给了我"It seems that your device does not support camera (or it is locked)."
错误。我的Android Manifest中有相机权限。然后我检查了libs文件夹中的文件,然后我注意到我有libnative_camera_r2.2.0.so直到libnative_camera_r4.4.0.so,我推断rx.xxso是指版本号,以及它的原因不起作用是因为Android 5.0没有原生相机库。
我现在的问题是:
什么时候会发布libnative_camera_r5.0.0.so?我只是不能使用较低版本,因为我也使用Android Lollipop独有的一些功能。
答案 0 :(得分:1)
版本3.0的OpenCV更改日志列出了本机摄像机被删除
&#34;另一个,有点悲伤但不可避免的消息 - 我们不得不放弃对Android上的nativecamera的支持。它使用了一些未记录的API,从未稳定运行。&#34;
来自:https://github.com/Itseez/opencv/wiki/ChangeLog(2015年6月发布)