cmm1204982443 2017-03-16 11:41 采纳率: 0%
浏览 868

请教一个关于安卓摄像头的问题。

大家好,我最近在做一个用opencv for android的实时图像处理的项目。我发现用opencv调用摄像头读取的图片尺寸大小在不同的设备上面不一样。请教一下:有没有什么方法能够让摄像头在不同设备上读取的图片尺寸大小一样?

  • 写回答

1条回答 默认 最新

  • 关注

    摄像头可以选预览尺寸,和拍照尺寸的,只能说有些尺寸大部分手机都有,你可以在预览时检测手机支持的尺寸,并指定尺寸,如果没有这个尺寸,你还是得按其他方法处理。

    比如下面设置的尺寸
    Camera.Parameters p = camera.getParameters();
    //设置拍照尺寸,越大越好
    List sizes = p.getSupportedPictureSizes();
    StringBuffer sb = new StringBuffer();
    for (Camera.Size s : sizes) {
    sb.append("[" + s.width + "*" + s.height + "],");
    if (mPictureSize == null || mPictureSize.width * mPictureSize.height < s.width * s.height) {
    mPictureSize = s;
    }
    }
    Log.d("tag", "PictureSizes:" + sb + "-->" + p.getPictureSize().width + "*" + p.getPictureSize().height);
    Log.d("tag", "mPictureSize=[" + mPictureSize.width + "*" + mPictureSize.height + "]");
    p.setPictureSize(mPictureSize.width, mPictureSize.height);

                而你需要的可能是预览尺寸:
                //获取支持的预览尺寸
        List<Camera.Size> sizes3 = p.getSupportedPreviewSizes();
                ...
                接着for循环下,看看有没有你要的尺寸,例如1920*1080
                  p.setPreviewSize(preview.width, preview.height);
    

    这里在吐槽一下魅蓝,居然默认使用4208x3120拍照,为了刚好1300万像素,而这个

    评论

报告相同问题?

悬赏问题

  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示