新视觉 API - 图片尺寸

New vision API - Picture size

我一直在做一个项目,必须重点关注面部检测,

我现在正在拍照,但是使用我的 Nexus 5 上的前置摄像头和 1280x960 的预览尺寸,播放服务似乎将图片尺寸设置为 320x240。

我检查过,预览和图片都支持 1280x960。

我尝试使用反射更改参数(与焦点相同),但没有任何改变。 似乎有必要在开始预览之前更改它...

我一直在尝试阅读和调试混淆代码,但我不明白为什么图书馆决定采用这种低分辨率:-(

使用的代码与示例中包含的代码很接近,只是增加了使用 CameraSource.takePicture(...)

拍照的可能性

您可以在 the samples repo

中找到代码

重现问题的代码=> here

我用 :

更改了相机初始化
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

感谢您的帮助!

我们最近开源了 CameraSource class。看这里:

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

此版本修复了图片大小问题。它会自动 select 相机支持的与预览的宽高比匹配的最高分辨率。