android - Camera2 API - jpeg 捕获文件大小太大

标签 android android-camera2

我正在使用 Camera2 api 进行静态图像捕获并将其保存到 jpeg 文件。问题是文件的大小始终 >900kb,即使我将图像尺寸设置为可用的最小尺寸并将 jpeg 质量降低。

这就是我将文件保存在 ImageAvailableListener 中的方式。这是一个 xamarin 项目,因此代码是用 c# 编写的。

image = reader.AcquireLatestImage();
ByteBuffer buffer = image.GetPlanes()[0].Buffer;
byte[] bytes = new byte[buffer.Remaining()];
buffer.Get(bytes);
output = new FileOutputStream(File);
output.Write(bytes);
output.Close();

文件大小应约为 20kb,那么为什么我无法获得小于 900kb 的文件大小?

最佳答案

您还可以降低捕获图像质量

mPreviewRequestBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
            mPreviewRequestBuilder.set(CaptureRequest.JPEG_THUMBNAIL_QUALITY, (byte) 70); // add this line and set your own quality

关于android - Camera2 API - jpeg 捕获文件大小太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49550684/

相关文章:

javascript - JQuery - 无法动态添加 SELECT 选项

android - Android Activity 生命周期的澄清

java - 将回调从 JavaScript 传递到 Java (Android)

android - 如何使用 glide 在 R.drawable 上设置 String 变量?

android - Camera2 中的预览回调明显慢于 Camera1

java - 在android java中调用c文件: fgets() function doesn't working on HTC Desire

android - QR 扫描仪相机预览停止并再次启动,然后在读取二维码时关闭

java - 空对象引用上的 Android Camera : Attempt to invoke virtual method Android Camera Parameters on android. hardware.Camera.getParameters()'

android - 如何设置android camera2参数以获得最佳文本识别效果

android - 当任何其他应用程序使用或打开相机时如何通知我