现在我正在使用OpenCV(版本2.4)使用VIDeoCapture,但是我被困在默认的960×720中,这对我需要的是不好的;而根据维基百科的说法,三星galaxy S3的手机在理论上可以提供高达8M的像素(3,264×2,448张照片,1,920×1080像素). 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);
在某些条件下工作;详情请见下文.
解决方法 您必须通过致电getSupportedPreviewSizes
获得支持的相机预览功能. 之后,您可以使用方法setPreviewSize
设置任何分辨率.最后不要忘记setParameters
.实际上很多OpenCV AndroID的例子包含了这个信息(见sample3).
以上是内存溢出为你收集整理的如何使用OpenCV在Android中设置相机分辨率?全部内容,希望文章能够帮你解决如何使用OpenCV在Android中设置相机分辨率?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)