android - Android Camera 参数中, PictureSize() 、 PreviewSize 和显示尺寸之间的关系是什么?

标签 android image-processing camera android-camera

假设我想要一张400*400的图片,我的相机支持320*240,640*480,1024*768 等...

我的第一个问题:

在以下两个选项中哪个给我更好的图像质量

  • 将图片大小设置为 640*480。拍摄照片后将其裁剪为 480*480 然后将其缩放为 400*400
  • 将图片大小设置为 1024*768。拍照后将其裁剪为 768*768 然后将其缩放为 400*400

我的第二个问题:

我在许多 Android 设备中测试了 getSupportedPreviewSize 的输出,并且在所有设备中它返回显示分辨率作为有效支持的预览尺寸之一。所有 Android 设备都是这样吗?

我的第三个问题

预览大小会影响图像质量吗?

我的第四个问题

考虑我正在使用 FrameLayout 预览相机,preview sizeFrameLyout 大小之间的关系是什么。我是否应该根据 Preview

的大小更改 FrameLyout 的尺寸

提前致谢。很抱歉问了冗长的问题。

最佳答案

为什么不能将其裁剪为 400x400?无法判断哪种缩小会变得更糟,并且有很多因素适用。通常缩放比例越小越好。

getsupportedpreviewsizes 将在 API 为 5 或更高的任何 Android 设备中返回至少一种分辨率:http://developer.android.com/reference/android/hardware/Camera.Parameters.html#getSupportedPreviewSizes() 注意:并不总是支持设备的最大分辨率,但几乎总是支持 640X480。

图片大小是图像大小,而预览大小用于根据当前设备方向更改图像。如果处理不当,这可以更大程度地缩放图像。简而言之,它会影响质量,但不会影响实际文件:http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPictureSize(int , 整数)

您的框架布局可能会填充您拥有的任何区域,并且会被拉伸(stretch)以填充该区域。它不应影响实际拍摄照片的质量。

关于android - Android Camera 参数中, PictureSize() 、 PreviewSize 和显示尺寸之间的关系是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26885322/

相关文章:

android - 如何比较 sqlite 数据库中的文本数据值?

java - 尝试访问 EXTRA_ADDRESS_BOOK_INDEX 字段时出现 JNI 错误

android - 按标签获取 fragment

php - 添加黑条以创建 16x9 图像

android - 使用相机查找对象的尺寸(高度,宽度)

java - 打开相机后未调用 onActivityResult

android - BOOT_COMPLETED 从未收到

python - 当我们通过掩码的阈值图像时,cv2.normalize 实际上会做什么?

swift - 缓存溢出的图像处理

android - 使用 SurfaceView 在自定义相机中拉伸(stretch)图像