我打电话后: 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。但是使用普通的相机 api 会为同一相机返回 1280x720 的分辨率。
因此,仅使用 Mobile Vision API 中的 CameraSource 会返回分辨率非常低的图像。但这并不一致。它在三星平板电脑上返回高分辨率。但是,当我在 Lenovo 选项卡 3 上使用相同的代码时,CameraSource 返回一个分辨率非常低的图像。可能是什么问题和可能的解决方法?