android camera分辨率设置,如何使用OpenCV在Android中设置摄像头分辨率?

我正在尝试为Android开发一个应用程序,并且我需要从相机获得分辨率尽可能高的未压缩图片。我试图takePicture的rawCallback和postviewCallback,但它们不起作用。如何使用OpenCV在Android中设置摄像头分辨率?

现在,我使用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,无需压缩?

我真的很抱歉,如果这已问过;我一直在寻找几天,而我一无所获。

谢谢你的时间!

编辑:虽然它不完全是我问的,我发现有一种方法可以做非常相似的事情:如果您设置相机的OnPreviewCallback,使用setPreviewCallback,您可以从相机(至少在我正在使用的S3中)。我留在这里以防有人在将来发现它有用。

编辑:的部分解决方案将在下面的答案说明。综上所述,

vc.set(Highgui.CV_CAP_PROP_FRAME_WIDTH, desiredFrameWidth);

vc.set(Highgui.CV_CAP_PROP_FRAME_HEIGHT, desiredFrameHeight);

在某些条件下工作;请参阅下面的进一步细节。

2012-08-24

Carlos

你可能感兴趣的:(android,camera分辨率设置)