在后台处理来自摄像头的视频

时间:2011-07-06 00:46:08

标签: android image-processing video-processing

是否可以在后台处理(从相机获取像素并应用某些算法)视频?也就是说,没有在屏幕上实际显示视频。

如果有可能,有哪些好的教程/示例?

1 个答案:

答案 0 :(得分:2)

这可能有用。假设您已经有一个当前在屏幕上显示 camerapreview 的代码,请找到类似以下内容的行:

camera.setPreviewDisplay(nameofsurface);

并将其更改为

camera.setPreviewDisplay(null);

您的所有相机框架仍然可用 public void onPreviewFrame(byte []数据,相机相机)方法。

如果你还不知道怎么做,请添加以下几行 该方法在开始时将字节数组转换为位图 您的加工目的。

Camera.Parameters parameters = camera.getParameters();

                    int width = parameters.getPreviewSize().width;
                    int height = parameters.getPreviewSize().height;

                    ByteArrayOutputStream outstr = new ByteArrayOutputStream();
                    Rect rect = new Rect(0,0, width, height); 
                    YuvImage yuvimage=new YuvImage(data,ImageFormat.NV21,width,height,null);
                    yuvimage.compressToJpeg(rect, 100, outstr);
                    Bitmap bmp = BitmapFactory.decodeByteArray(outstr.toByteArray(), 0, outstr.size());