Android 如何获取摄像头所支持的所有分辨率

Camera  camera = Camera.open();

Parameters parameters = camera.getParameters();

List<Size> supportedPreviewSizes = parameters.getSupportedPreviewSizes();
List<Size> supportedPictureSizes = parameters.getSupportedPictureSizes();
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Android 12中,你可以使用CameraManager API来查看USB摄像头支持分辨率和像素。首先,你需要在AndroidManifest.xml文件中添加相机权限。 然后,在你的代码中,你可以使用以下步骤来获取USB摄像头支持分辨率和像素: 1. 获取CameraManager实例: ```java CameraManager cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE); ``` 2. 获取连接的USB摄像头设备列表: ```java String[] cameraIds = cameraManager.getCameraIdList(); ``` 3. 遍历摄像头设备列表,找到USB摄像头: ```java for (String cameraId : cameraIds) { CameraCharacteristics characteristics = cameraManager.getCameraCharacteristics(cameraId); Integer facing = characteristics.get(CameraCharacteristics.LENS_FACING); if (facing != null && facing == CameraCharacteristics.LENS_FACING_EXTERNAL) { // 找到了USB摄像头 StreamConfigurationMap configMap = characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); if (configMap != null) { // 获取支持的输出尺寸列表 Size[] outputSizes = configMap.getOutputSizes(ImageFormat.YUV_420_888); for (Size size : outputSizes) { // 遍历输出尺寸列表,获取每个尺寸的宽度和高度 int width = size.getWidth(); int height = size.getHeight(); // 进行相应的处理,比如打印日志或者保存到列表中 } } } } ``` 在上述代码中,我们使用CameraCharacteristics类的LENS_FACING_EXTERNAL常量来判断摄像头是否是USB摄像头。然后,使用CameraCharacteristics类的SCALER_STREAM_CONFIGURATION_MAP常量来获取StreamConfigurationMap实例,进而获取支持的输出尺寸列表。 至于像素和分辨率的关系,像素是表示图像中单个点的单位,而分辨率是指图像中水平和垂直像素的总数。例如,一个分辨率为1920x1080的图像意味着图像有1920个水平像素和1080个垂直像素,总共2073600个像素。因此,像素是构成分辨率的基本单元。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值