Я пытаюсь использовать новую функцию OpenCV на Android: собственный доступ к камере.Согласно этому документу, это довольно просто, но я получаю только ошибку без успеха.
Есть журнал 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 ERROR: невозможно открыть библиотеку оболочки камеры /data/data/com.viactivity.ar/lib/libnative_camera_r2.2.2.Итак, 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 ОШИБКА: невозможно открыть библиотеку оболочки камеры /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: ОШИБКА / CAMERA_ACTIVITY (12613): CameraWrapperConnector :: connectToLib ОШИБКА: не удается убрать камерубиблиотека обертки 08-26 03: 28: 56.835: ОШИБКА / CV_CAP (12613): родная камера вернула ошибку открытия: 4 08-26 03: 28: 56.835: ОШИБКА / AR_code (12613): ошибка захвата!
Существует два варианта кода:
CvCapture* capture = cvCaptureFromCAM( CV_CAP_ANDROID + 0 );
IplImage* frame = cvQueryFrame( capture );
cvReleaseCapture(&capture);
.
cv::VideoCapture capture(CV_CAP_ANDROID + 0);
cv::Mat frame;
capture >> frame;
Оба они выдают одинаковые ошибки.Кто-нибудь смог получить доступ к родной камере на Android?Большое спасибо!
UPD: Вышеприведенная история о Android 3.2.По словам Андрея Камаева, 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: ОШИБКА / OpenCV_NativeCamera (1337): initCameraConnect: невозможно подключиться к CameraService 08-26 19: 49: 06.856: ОШИБКА / CAMERA_ACTIVITY (1337): CameraWrapperConnector:: connectWrapper ОШИБКА: функция инициализации вернула false 08-26 19: 49: 06.856: ERROR / CV_CAP (1337): Native_camera вернула ошибку открытия: 6
Есть идеи?