在某些设备上,Google Mobile Visions CameraSource在调用takePicture后返回低分辨率图像

时间:2018-01-10 12:45:28

标签: android performance android-camera resolution vision-api

我打电话后: cameraSource.takePicture(null,pictureCallback); 在回调中:

private CameraSource.PictureCallback pictureCallback = new CameraSource.PictureCallback() {
                @Override
                public void onPictureTaken(byte[] bytes) {
                    try {
        Log.d(DEBUG_TAG, "On picture taken.");
                        if (bytes == null) {
                            return;
                        }
                        Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
                        Glide.with(this).load(bitmap).into(capturedImg);
                    }catch (Exception ex){
                        ex.printStackTrace();
                        Log.e("PictureTaken",ex.toString());
                }
            };

创建位图时,分辨率非常低(320x240)。相机能够拍摄更高分辨率的照片。大约1600x1200从普通相机应用程序。但是使用普通的Camera api可以为同一台相机返回1280x720的分辨率。

因此,仅使用Mobile Vision API中的CameraSource会返回分辨率非常低的图像。但这并不一致。它在三星平板电脑上返回高分辨率。但是当我在Lenovo选项卡3上使用相同的代码时,CameraSource会返回一个分辨率非常低的图像。可能是什么问题和可能的解决办法?

1 个答案:

答案 0 :(得分:0)