android camera预览数据,如何获得720p Android Camera预览数据?

在尝试使用相机预览进行图像识别时,作者遇到了分辨率不匹配的问题。尽管设置预览尺寸为1280×720,但在不同设备上,实际接收到的预览帧数据只对应于较低的分辨率(如HTC Desire的768×432)。作者发现只有HTC Desire HD能正确处理高分辨率数据。文章探讨了可能存在的设备适应性和预览分辨率降低的问题。
摘要由CSDN通过智能技术生成

我想使用相机预览进行图像识别.为了我的

目的,我需要尽可能高的预览分辨率

(同时,向用户显示预览).

我创建了一个Preview类,扩展了SurfaceView并设置了

PreviewSize到1280×720.我添加了一个PreviewCallBack来实现

图片:

camera = Camera.open();

parameters = camera.getParameters();

parameters.setPreviewSize(1280,720);

camera.setParameters( parameters);

byte[] b = new byte[camera.getParameters().getPreviewSize().width *

camera.getParameters().getPreviewSize().height *

ImageFormat.getBitsPerPixel(camera.getParameters().getPreviewFormat()) / 8];

camera.addCallbackBuffer(b);

camera.setPreviewCallbackWithBuffer(new CameraPreviewCallback());

try {

camera.setPreviewDisplay(this.getHolder());

camera.startPreview()

}

我的字节数组b是1382400字节和我的

CameraPreviewCallback.onPreviewFrame()函数接收那些1382400

字节 – 但只有第一个497664字节包含数据(匹配a

768×432分辨率(HTC Desire)).

我在不同的设备上测试了它,所有设备的显示分辨率都是

800×480(HTC Desire,LG Optimus 3D,三星Galaxy S2,三星Galaxy

标签, …).我的代码唯一适用的设备是HTC Desire HD.

有谁知道如何作为字节接收完整的720p分辨率

阵列?

“Something”似乎降低了预览分辨率以适应智能手机显示屏.

问候

Joern

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值