Я решил такую же ошибку, создав файл camera.xml с использованием образца проекта «калибровка камеры» из OpenCV для Android SDK (2.4.8).
Следуйте инструкциям над классом CameraCalibrationActivity.java.
После нажатия кнопки «Калибровать» вы получаете необходимые параметры калибровки в конвейере Log.cat. Например:
03-12 15:46:35.639: I/OCVSample::CameraCalibrator(4348): Average re-projection error: 0,207973
03-12 15:46:35.679: I/OCVSample::CameraCalibrator(4348): Camera matrix: [498.8875537329555, 0, 239.5;
03-12 15:46:35.679: I/OCVSample::CameraCalibrator(4348): 0, 498.8875537329555, 159.5;
03-12 15:46:35.679: I/OCVSample::CameraCalibrator(4348): 0, 0, 1]
03-12 15:46:35.679: I/OCVSample::CameraCalibrator(4348): Distortion coefficients: [-0.03629159746850338; 2.011849786210916; 0; 0; -8.554278584838848]
03-12 15:46:35.759: I/OCVSample::CalibrationResult(4348): Saved camera matrix: [498.8875537329555, 0, 239.5;
03-12 15:46:35.759: I/OCVSample::CalibrationResult(4348): 0, 498.8875537329555, 159.5;
03-12 15:46:35.759: I/OCVSample::CalibrationResult(4348): 0, 0, 1]
Поместите эти параметры XML в этом form:
<?xml version="1.0" encoding="windows-1250"?>
<Camera_Matrix type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>
<dt>d</dt>
<data>
498.8875537329555 0. 239.5 0.
498.8875537329555 159.5 0. 0. 1.</data></Camera_Matrix>
<Distortion_Coefficients type_id="opencv-matrix">
<rows>5</rows>
<cols>1</cols>
<dt>d</dt>
<data>
-0.03629159746850338 2.011849786210916 0. 0.
-8.554278584838848</data></Distortion_Coefficients>
Сохранить это как camera.xml, создать папку "калибровки" на телефоне SD-карты и поставить там camera.xml. Теперь вы можете запустить приложение Aruco.