多亏了 SO,我一直在从事一个项目,并且必须重点关注人脸检测。
我现在正在拍照,但使用 Nexus 5 上的前置摄像头和 1280x960 的预览尺寸,播放服务似乎将图片尺寸设置为 320x240。
我检查了,预览和图片都支持 1280x960。
我尝试使用反射更改参数(与焦点相同),但没有任何改变。似乎有必要在开始预览之前更改它...
我一直在尝试阅读和调试混淆代码,但我不明白为什么库决定采用这种低分辨率:-(
使用的代码接近示例中包含的代码,只是增加了使用 CameraSource.takePicture(...) 拍照的可能性
您可以在示例 repo中找到代码
重现问题的代码=>在这里
我改变了相机初始化:
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
谢谢您的帮助 !