Car*_*los 11 camera android opencv resolution
我正在尝试为Android开发应用程序,我需要从相机获得尽可能高分辨率的未压缩图片.我尝试了takePicture的rawCallback和postviewCallback,但它们没有用.
现在我正在尝试使用VideoCapture的OpenCV(版本2.4),但我陷入了默认的960x720,这对我需要的东西很差; 根据维基百科的说法,我的手机,三星Galaxy S3,理论上可以提供高达8Mpx(图片为3,264×2,448,视频为1,920×1,080).VideoCapture.set(Highgui.CV_CAP_PROP_FRAME_WIDTH/HEIGHT,某些数字)使相机返回到我发现的黑色图像.
有没有办法通过OpenCV或Android API获得更高的分辨率,而无需压缩?
如果以前有人问我,我真的很抱歉; 我一直在寻找几天,但我一无所获.
感谢您的时间!
编辑:虽然这不是我所要求的,但我发现有一种方法可以做一些非常相似的事情:如果使用setPreviewCallback为摄像机设置OnPreviewCallback,你可以从摄像机获取原始图像数据(至少在S3我正在与之合作).我把它留在这里,万一有人发现它有用.
编辑:部分解决方案在下面的答案中解释.总结一下,
vc.set(Highgui.CV_CAP_PROP_FRAME_WIDTH, desiredFrameWidth);
vc.set(Highgui.CV_CAP_PROP_FRAME_HEIGHT, desiredFrameHeight);
Run Code Online (Sandbox Code Playgroud)
在某些条件下工作; 请参阅下面的详细信息.
您必须通过调用 来获取支持的相机预览结果getSupportedPreviewSizes。
之后,您可以使用 method 设置任何分辨率setPreviewSize。setParameters最后不要忘记。实际上,许多 OpenCV Android 示例都包含此信息(请参阅示例 3)。
| 归档时间: |
|
| 查看次数: |
13437 次 |
| 最近记录: |