我正在为 Android开发一个应用程序,我需要从相机获得尽可能高的分辨率的未压缩图片.我试过takePicture的rawCallback和postviewCallback,但是它们不工作.

现在我正在使用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中设置相机分辨率?的更多相关文章

  1. css绝对定位如何在不同分辨率下的电脑正常显示定位位置?(一定要看!)

    这篇文章主要介绍了css绝对定位如何在不同分辨率下的电脑正常显示定位位置,本文首先解释了常见的电脑分辨率,为了页面在不同的分辨率下正常显示,要给页面一个安全宽度,再去使用绝对定位,具体操作步骤大家可查看下文的详细讲解,感兴趣的小伙伴们可以参考一下。

  2. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  3. xcode – 了解iPhone分辨率

    我正在使用phonegap将一个非常简单的html5页面导出到iphone应用程序并遇到这个愚蠢的问题.iPhone分辨率为960×640.当我将画布设置为那些尺寸时,它似乎太大了.这是为什么?我怎样才能利用iphone4的全高清功能.如果我将画布设置为较旧的iPhone,似乎画布适合全屏.将视口设置为这样的东西似乎有效,但是这会是性能损失吗?

  4. ios – 强制iPad Pro无需启动屏幕即可实现全分辨率

    解决方法不,您必须使用启动屏幕来支持iPadPro.这就是Apple决定支持它的方式.如果您找不到使用单个启动屏幕获取所需结果的方法,您可以提供一个特定于iPhone和一个特定的iPad.更新:Xcode8支持iPadProLaunch图像插槽,因此您不再需要使用Launch屏幕文件来支持iPadPro.

  5. iOS使用openCV检测来自摄像头的矩形

    如果我在处理它之前克隆matimage,通过记录它,它似乎处理图像甚至找到矩形,但矩形不会被绘制到图像输出到imageView.我很确定我错过了一些东西,可能是因为我没有正确传递某个对象,指向对象的指针等等,而我需要修改的对象则没有.无论如何,如果这不是正确的方法,我真的很感谢他们做这样的事情的教程或例子,使用openCV或GPUImage…它不需要尝试使用matimage来设置imageView.image,而只需要将matimage转换为在imageView中实际修改,因为CvVideoCamera已

  6. ios – 为视网膜和非视网膜显示开发OpenGL ES

    在深入了解我的下一个项目之前,我正在寻找建议.我想支持iOS现在支持的所有各种分辨率.开发人员完成这项工作最常见的方式是什么?感谢先进的所有帮助.编辑:我从Apple发现了这个:BlockquoteIfyourapplicationusesOpenGLESforrendering,yourexistingdrawingcodeshouldcontinuetoworkwithoutanychanges.Whendrawnonahigh-resolutionscreen,though,yourcontenti

  7. ios – 如何将视频从AVAssetExportSession保存到相机胶卷?

    在此先感谢您的帮助.解决方法只需使用session.outputURL=…

  8. 使用Launch Screen.xib模板真正实现通用iOS启动屏幕?

    我没有找到任何有用的教程,如何实际使用它来为所有分辨率使用单个图像制作单个启动屏幕.我知道如何使用约束使UI元素以所有分辨率为中心,但我无法弄清楚如何使我的UIImage缩放在所有分辨率上填充屏幕高度.如果我只调整我的UIImage以填充在模拟指标中选择的当前屏幕尺寸–它将只填充那个,但不适用于其他屏幕尺寸..有人能给我一些线索吗?如何使用此启动屏幕模板使UIImage为所有分辨率填充整个屏幕?

  9. 使用Xcode为OS X Lion / Mountain Lion编译OpenCV(2.3.1)

    任何人都可以为我提供一些如何使用Xcode在OSXLion上编译OpenCV2.3.1的详细指南吗?我对此感到生气…我得到了源码,使用cmake创建Xcode模板并尝试构建它,但它失败了大约200个错误.提前致谢,大教堂解答我的回答帖子.解决方法详细指南如何使用MacPorts在Xcode4.2.1的OSXLion下启动和运行OpenCV2.3.1编辑08/06/2012:这也适用于OpenCV2.4.1.只需确保您获得最新版本的Xcode并安装“命令行工具”.编辑15/08/2012:使用Mountai

  10. ios – 核心图形图像质量低

    我是CoreGraphics的新手,我试着画圆圈.它们可以是透明的(仅中风)并填充笔触颜色.所以方法看起来像这样:结果很奇怪–看起来图像的分辨率非常低.是否有可能使结果图像在视网膜显示器上看起来很好?

随机推荐

  1. bluetooth-lowenergy – Altbeacon库无法在Android 5.0上运行

    昨天我在Nexus4上获得了Android5.0的更新,并且altbeacon库停止了检测信标.似乎在监视和测距时,didEnterRegion和didRangeBeaconsInRegion都没有被调用.即使RadiusNetworks的Locate应用程序现在表现不同,一旦检测到信标的值,它们就不再得到更新,并且通常看起来好像信标超出了范围.我注意到的一点是,现在在logcat中出现以下行“B

  2. android – react-native动态更改响应者

    我正在使用react-native进行Android开发.我有一个视图,如果用户长按,我想显示一个可以拖动的动画视图.我可以使用PanResponder实现这一点,它工作正常.但我想要做的是当用户长按时,用户应该能够继续相同的触摸/按下并拖动新显示的Animated.View.如果您熟悉Google云端硬盘应用,则它具有类似的功能.当用户长按列表中的任何项目时,它会显示可拖动的项目.用户可以直接拖

  3. android – 是否有可能通过使用与最初使用的证书不同的证书对其进行签名来发布更新的应用程序

    是否可以通过使用与最初使用的证书不同的证书进行签名来发布Android应用程序的更新?我知道当我们尝试将这样的构建上传到市场时,它通常会给出错误消息.但有没有任何出路,比如将其标记为主要版本,指定市场中的某个地方?解决方法不,你不能这样做.证书是一种工具,可确保您是首次上传应用程序的人.所以总是备份密钥库!

  4. 如何检测Android中是否存在麦克风?

    ..所以我想在让用户访问语音输入功能之前检测麦克风是否存在.如何检测设备上是否有麦克风.谢谢.解决方法AndroidAPI参考:hasSystemFeature

  5. Android – 调用GONE然后VISIBLE使视图显示在错误的位置

    我有两个视图,A和B,视图A在视图B上方.当我以编程方式将视图A设置为GONE时,它将消失,并且它正下方的视图将转到视图A的位置.但是,当我再次将相同的视图设置为VISIBLE时,它会在视图B上显示.我不希望这样.我希望视图B回到原来的位置,这是我认为会发生的事情.我怎样才能做到这一点?编辑–代码}这里是XML:解决方法您可以尝试将两个视图放在RelativeLayout中并相对于彼此设置它们的位置.

  6. android – 获得一首歌的流派

    我如何阅读与歌曲相关的流派?我可以读这首歌,但是如何抓住这首歌的流派,它存放在哪里?解决方法检查此代码:

  7. android – 使用textShadow折叠工具栏

    我有一个折叠工具栏的问题,在展开状态我想在文本下面有一个模糊的阴影,我使用这段代码:用:我可以更改textColor,它可以工作,但阴影不起作用.我为阴影尝试了很多不同的值.是否可以为折叠文本投射阴影?

  8. android – 重用arm共享库

    我已经建立了armarm共享库.我有兴趣重用一个函数.我想调用该函数并获得返回值.有可能做这样的事吗?我没有任何头文件.我试过这个Android.mk,我把libtest.so放在/jni和/libs/armeabi,/lib/armeabi中.此时我的cpp文件编译,但现在是什么?我从objdump知道它的名字编辑:我试图用这个android.mk从hello-jni示例中添加prebuild库:它工作,但libtest.so相同的代码显示以下错误(启动时)libtest.so存在于libhello-j

  9. android – 为NumberPicker捕获键盘’Done’

    我有一个AlertDialog只有一些文本,一个NumberPicker,一个OK和一个取消.(我知道,这个对话框还没有做它应该保留暂停和恢复状态的事情.)我想在软键盘或其他IME上执行“完成”操作来关闭对话框,就像按下了“OK”一样,因为只有一个小部件可以编辑.看起来处理IME“Done”的最佳方法通常是在TextView上使用setonEditorActionListener.但我没有任何Te

  10. android – 想要在调用WebChromeClient#onCreateWindow时知道目标URL

    当我点击一个带有target=“_blank”属性的超链接时,会调用WebChromeClient#onCreateWindow,但我找不到新的窗口将打开的新方法?主页url是我唯一能知道的东西?我想根据目标网址更改应用行为.任何帮助表示赞赏,谢谢!

返回
顶部