繁体   English   中英

Android Camera Preview回调速度变慢我们需要恒定的fps

[英]Android Camera Preview Callback slow down We need the constant fps

大家好,我前几天遇到了“相机预览回调”中的问题,我想扫描每一帧

在添加的PreviewCallback里面,我有设备(摩托罗拉g)可以给我30 fps。 下面是

预览回调内的代码。

private PreviewCallback previewCallback = new PreviewCallback() {

        /**
         * {@inheritDoc}
         */
        @Override
        public void onPreviewFrame(byte[] data, Camera cam) 
        {

          if (data == null) throw new NullPointerException();
          Camera.Size size = cam.getParameters().getPreviewSize();
          if (size == null) throw new NullPointerException();

          int width = size.width;

          int height = size.height;

            // maximum value of the range of sum (Red) values in each frame 1/10 part of every 5th 
            // pixel red value sum ( if all pixels consider the red(255) then max value of sum of r)
          final double analysisFrameSize = (((width * height)/100)/5f)* 255;

          ImageProcessing.setMaxPixelPerFrame(analysisFrameSize);

          ImageProcessModel model = ImageProcessing.decodeYUV420SPtoRedAvg(data.clone(), width, height);

          List<Integer> furtherAnaylisList = model.getmFurtherAnalysisList();

          final int frameSize = (((width * height)/100)/5);

          int redAvg = (furtherAnaylisList.get(0) / frameSize);

          int green = (furtherAnaylisList.get(1) / frameSize);

          int blue = (furtherAnaylisList.get(2) / frameSize);

          Log.println(TAG,String.format("AvgRed:%2d,AvgGree:%2d,AvgBlue:%2d",redAvg,green,blue));

        }
    };

程序是否减慢了预览回调中的帧速率,因为在编写代码后,它将fps从30 fps减慢到22 fps,我对22 fps没有问题,但它不是恒定不变的。

我可以设置相机给我恒定的22或30 fps吗?

先感谢您。

我可以设置相机给我恒定的22或30 fps吗?

否,但是您可以将图像处理工作移至后台线程,因此您不必降低相机的速度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM