Vit*_* S. 2 android opencv android-ndk
我正在尝试在Android上使用新的OpenCV功能:本机摄像头访问.根据这个文档,这很容易,但我只是得到错误而没有成功.
有DDMS日志:
08-26 03:28:56.825:DEBUG/CAMERA_ACTIVITY(12613):库名:libopencv_java.so 08-26 03:28:56.825:DEBUG/CAMERA_ACTIVITY(12613):库基地址:0x81800000 08-26 03:28: 56.835:DEBUG/CAMERA_ACTIVITY(12613):找到的库文件夹:/data/data/com.viactivity.ar/lib/ 08-26 03:28:56.835:DEBUG/CAMERA_ACTIVITY(12613):CameraWrapperConnector :: connectToLib:folderPath =/data/data/com.viactivity.ar/lib/08-26 03:28:56.835:ERROR/CAMERA_ACTIVITY(12613):|| libnative_camera_r2.2.2.so 08-26 03:28:56.835:ERROR/CAMERA_ACTIVITY(12613) :|| libnative_camera_r2.3.3.so 08-26 03:28:56.835:DEBUG/CAMERA_ACTIVITY(12613):尝试加载库'libnative_camera_r2.2.2.so'08-26 03:28:56.835:DEBUG/CAMERA_ACTIVITY(12613) :CameraWrapperConnector :: connectToLib错误:无法dlopen相机包装库/data/data/com.viactivity.ar/lib/libnative_camera_r2.2.2.so,dlerror ="无法加载库:find_library [1223]:11258'libnative_camera_r2.2.2.so '未能加载以前"08-26 03:28:56.835:DEBUG/CAMERA_ ACTIVITY(12613):尝试加载库'libnative_camera_r2.3.3.so'08-26 03:28:56.835:DEBUG/CAMERA_ACTIVITY(12613):CameraWrapperConnector :: connectToLib错误:无法dlopen相机包装库/ data/data/com. viactivity.ar/lib/libnative_camera_r2.3.3.so,dlerror ="无法加载库:find_library [1223]:11258'libnative_camera_r2.3.3.so'以前无法加载"08-26 03:28:56.835:ERROR/CAMERA_ACTIVITY( 12613):CameraWrapperConnector :: connectToLib错误:无法dlopen相机包装器库08-26 03:28:56.835:ERROR/CV_CAP(12613):Native_camera返回打开错误:4 08-26 03:28:56.835:ERROR/AR_code(12613) ):捕获错误!
有两种代码变体:
CvCapture* capture = cvCaptureFromCAM( CV_CAP_ANDROID + 0 );
IplImage* frame = cvQueryFrame( capture );
cvReleaseCapture(&capture);
Run Code Online (Sandbox Code Playgroud)
.
cv::VideoCapture capture(CV_CAP_ANDROID + 0);
cv::Mat frame;
capture >> frame;
Run Code Online (Sandbox Code Playgroud)
它们都产生相同的错误.有人能够在Android上获得原生相机访问权限吗?非常感谢!
UPD: 上面的故事是关于Android 3.2的.根据Andrey Kamaev的说法,不支持Android 3.2.我试图在HTC Wildfire上测试相同的代码,但是又出现了另一个错误:
08-26 19:49:06.856:DEBUG/OpenCV_NativeCamera(1337):CameraHandler :: initCameraConnect(0x813e65a1,0,0x285a20,0x0)08-26 19:49:06.856:DEBUG/CameraService(72):CameraService :: connect E (pid 1337,客户端0x693d8)08-26 19:49:06.856:DEBUG/CameraService(72):CameraService :: connect X(pid 1337,新客户端0x693d8)被拒绝.(旧pid 1337,旧客户端0x18728)08-26 19:49:06.856:ERROR/OpenCV_NativeCamera(1337):initCameraConnect:无法连接到CameraService 08-26 19:49:06.856:ERROR/CAMERA_ACTIVITY(1337):CameraWrapperConnector: :connectWrapper错误:初始化函数返回false 08-26 19:49:06.856:ERROR/CV_CAP(1337):Native_camera返回打开错误:6
有任何想法吗?
目前,OpenCV原生相机不支持Android 3.2(因为它的来源不公开.)
只要与Android 3.2兼容的版本可用,我就会发布更新.
OpenCV trunk已经有Android 3.x和4.0.x的解决方案.它将被包含在OpenCV的下一个主要版本中.
| 归档时间: |
|
| 查看次数: |
9058 次 |
| 最近记录: |