Android SurfaceView Preview too dark

▼魔方 西西 提交于 2020-01-05 00:48:49

问题


I'm developing an App that uses Surfaceview. I can take pictures and everything's fine.

My problem is: the image of the preview is too dark. I try to change the SceneMode of the camera, but nothing is working (I've tried AUTO, NIGHT and NIGHT_PORTRAIT).

Here is the difference between pictures taken with my app:

and the Android Camera App (native):

Here's my code (the params used on cam):

        c = Camera.open(0);
        Camera.Parameters params =  c.getParameters();
        params.setSceneMode(Camera.Parameters.SCENE_MODE_NIGHT);
        params.setAutoExposureLock(true);
        params.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
        if (params.getMaxNumMeteringAreas() > 0){ // check that metering areas are supported
            List<Camera.Area> meteringAreas = new ArrayList<>();
            Rect areaRect1 = new Rect(-100, -100, 100, 100);    // specify an area in center of image
            meteringAreas.add(new Camera.Area(areaRect1, 600)); // set weight to 60%
            Rect areaRect2 = new Rect(800, -1000, 1000, -800);  // specify an area in upper right of image
            meteringAreas.add(new Camera.Area(areaRect2, 400)); // set weight to 40%
            params.setMeteringAreas(meteringAreas);
        }
        c.setParameters(params);

Anyone can help me?

Thanks!


回答1:


  1. Don't lock auto-exposure; if you do, the camera is stuck with whatever settings it had when you locked it, which may be too dark

  2. Make sure the preview FPS range allows the camera to slow down frame rate in order to increase exposure. Best to select something like 10-30 fps as the range; see what the supported fps ranges are.

  3. Avoid setting the metering area until you have the rest of this working.

  4. The Android camera app is definitely not using NIGHT scene mode, so I would avoid it unless you know it does something useful on the device you're using your app on; it's not standardized across devices.



来源:https://stackoverflow.com/questions/31330098/android-surfaceview-preview-too-dark

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!