无法在Android上使用C ++ OpenCV打开相机

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在Android上使用C ++ OpenCV打开相机相关的知识,希望对你有一定的参考价值。

我正在尝试将一个非常简单的OpenCV应用程序移动到android。代码尝试从C ++ .so库访问相机,该库与使用C#和Xamarin的主应用程序链接,我怀疑这与我的问题有关。我的C ++代码只是尝试使用cv :: VideoCapture访问相机,如下所示:

    cv::VideoCapture cap(0); //default camera

    if(!cap.isOpened())
    {
        LOGE("No camera detected on this system
");
    }

但是,尽管我在AndroidManifest.xml中指定了权限,但总是失败:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.companyname.XamarinARapp">
  <uses-sdk android:minSdkVersion="15" />
  <application android:label="XamarinARapp.Android">
  </application>
  <uses-permission android:name="android.permission.CAMERA"/>
  <uses-feature android:name="android.hardware.camera" android:required="false"/>
  <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
  <uses-feature android:name="android.hardware.camera.front" android:required="false"/>
  <uses-feature android:name="android.hardware.camera.front.autofocus" android:required="false"/>
</manifest>

有没有人用C ++中的cv :: VideoCapture成功访问Android相机? Xamarin与它有什么关系吗?

答案

但该应用程序正在为Android 4.4

您的清单SDK版本应如下所示:

<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="19" />

否则,如果没有在API 23+设备上设置和运行targetSdkVersion,您将需要请求运行时摄像头权限。

以上是关于无法在Android上使用C ++ OpenCV打开相机的主要内容,如果未能解决你的问题,请参考以下文章

之前配置过opencv 现在用vs2010 打代码每次都没法编译,求解决无法打开文件"opencv_world320.lib

opencv 无法打开包含文件

qt Android中使用opencv处理视频

在android中使用opencv捕获视频帧

Android App开发超实用实例 | OpenCV在Android手机实现在图像上添加文本

无法在 RHEL 7 上使用 CUDA 构建 OpenCV