Новый API видения — размер изображения

Я работал над проектом и должен заставить работать распознавание лиц с фокусом, благодаря SO.

Сейчас я делаю снимки, но при использовании фронтальной камеры Nexus 5 и размера предварительного просмотра 1280x960 игровые сервисы, похоже, устанавливают размер изображения 320x240.

Проверил, 1280х960 поддерживается как на превью, так и на картинке.

Я попытался изменить параметры с помощью отражения (так же, как и для фокуса), но ничего не изменилось. Кажется, необходимо изменить это перед запуском предварительного просмотра...

Я пытался прочитать и отладить обфусцированный код, но не могу понять, почему библиотека решает использовать такое низкое разрешение :-(

Используемый код близок к тому, что включен в пример, просто добавлена ​​возможность сделать снимок с помощью CameraSource.takePicture(...)

Код можно найти в репозитории примеров.

Код для воспроизведения проблемы => здесь

Я изменил инициализацию камеры с помощью:

mCameraSource = new CameraSource.Builder(context, detector)
    .setRequestedPreviewSize(1280, 960)
            .setFacing(CameraSource.CAMERA_FACING_FRONT)
            .setRequestedFps(30.0f)
            .build();

Добавил кнопку и подключил прослушиватель кликов:

findViewById(R.id.snap).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mCameraSource.takePicture(null, new CameraSource.PictureCallback() {
                @Override
                public void onPictureTaken(byte[] bytes) {
                    Bitmap bmp = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
                    Log.d("BITMAP", bmp.getWidth() + "x" + bmp.getHeight());
                }
            });
        }
    });

Вывод журнала:

BITMAP﹕ 320x240

Спасибо за помощь !


person Simon Guerout    schedule 27.08.2015    source источник
comment
не могли бы вы включить свой фактический код? больше информации, тем лучше.   -  person Kat    schedule 27.08.2015
comment
@sparkysword: я добавил некоторые детали и ссылку на пример кода.   -  person Simon Guerout    schedule 29.08.2015
comment
Об этой проблеме сообщалось на GitHub здесь: github.com/googlesamples/android-vision/issues/ 19   -  person pm0733464    schedule 31.08.2015


Ответы (1)


Недавно мы открыли исходный код класса CameraSource. Посмотреть здесь:

https://github.com/googlesamples/android-vision/blob/master/visionSamples/barcode-reader/app/src/main/java/com/google/android/gms/samples/vision/barcodereader/ui/camera/CameraSource.java

Эта версия включает в себя исправление проблемы с размером изображения. Он автоматически выберет самое высокое разрешение, поддерживаемое камерой, которое соответствует соотношению сторон предварительного просмотра.

person pm0733464    schedule 30.08.2015
comment
Как я уже сказал, я проверил поддерживаемые размеры предварительного просмотра и изображения, разрешение поддерживается... - person Simon Guerout; 31.08.2015
comment
@ pm0733464 Как мы можем захватить/сохранить изображение отслеживаемого лица + наложенное изображение из Vision API? - person Umang Kothari; 18.10.2016