Я разработал приложение для Android для конкретного планшетного устройства с разрешением экрана 800 * 480. Цель проекта - захватить изображение (с обнаружением лица). Для этого я использовал opencv2.4.2 sdk для захвата изображения (используется образец обнаружения лица opencv). В этом устройстве камера доступна в правом нижнем углу. Таким образом, я снял изображение с режимом обратного портрета (используя транспонирование изображения).Проблема с открытием камеры с открытым диском в мобильном устройстве
The code snippet is below:
@Override
protected Bitmap processFrame(VideoCapture capture) {
FdActivity.mSquaredImage = 0;
resolution = 0;
capture.retrieve(mRgba, Highgui.CV_CAP_ANDROID_COLOR_FRAME_RGBA);
capture.retrieve(mGray, Highgui.CV_CAP_ANDROID_GREY_FRAME);
Core.transpose(mRgba, mRgba);
Core.transpose(mRgba, mGray);
.....
.....
return bmp;
}
Он отлично работает в планшете для Android.
Теперь я хочу использовать свое приложение с мобильным устройством. Поэтому я тестировал его с SAMSUNG GALAXY S II.
И у меня есть одна проблема.
The following code is to open the camera.
The code snippet is below:
public boolean openCamera() {
Log.i(TAG, "openCamera");
synchronized (this) {
releaseCamera();
mCamera = new VideoCapture(Highgui.CV_CAP_ANDROID);
if (!mCamera.isOpened()) {
mCamera.release();
mCamera = null;
Log.e(TAG, "Failed to open native camera");
return false;
}
}
return true;
}
Этот код открывает переднюю камеру в планшете. Но в SAMSUNG GALAXY S II он открывает заднюю камеру. Для этого я искал в opencv.org форуме, и я получил следующее решение,
mCamera = new VideoCapture(Highgui.CV_CAP_ANDROID+1);
Теперь он открывает переднюю камеру в Samsung Galaxy S II. Но в планшете я получил «невозможно открыть камеру» ошибка. что может быть проблемой. И я тестировал устройство Android Android для Android. Но он показывает только пустой экран (камера не открыта).
Новое требование - удерживать пользователя с положением камеры в верхней части устройства. Если они вращают устройство, экран и изображение не должны вращаться.
Очень срочно. Может кто-нибудь поможет мне исправить это?