相关疑难解决方法(0)

Android视频帧处理

我正在开发应用程序,在相机帧上进行一些实时图像处理.为此,我使用预览回调的方法onPreviewFrame.
这适用于支持分辨率至少为640x480或更大的预览帧的相机.但是当相机不支持如此大的相机预览分辨率时,应用程序被编程为拒绝处理这样的帧.现在,我遇到的问题是像Sony XperiaGo 这样的手机.这是一个非常好的设备,可以录制分辨率高达1280x720的视频,但遗憾的是最大相机预览尺寸为480x320,这对我的需求来说太小了.

我想知道的是如何获得这些larger camera frames(最高1280x720或更高)?显然它必须是可能的,因为相机应用程序能够以该分辨率录制视频 - 因此该应用程序必须能够以某种方式访问​​那些较大的帧.如何从我的应用程序中执行相同的操作?

应用程序必须支持Android 2.1及更高版本,但即使我找到针对Android 4.0或更新版本的问题的解决方案,我也会非常高兴.

这个问题类似http://stackoverflow.com/questions/8839109/processing-android-video-frame-by-frame-while-recording,但我不需要保存视频 - 我只需要那些高分辨率的视频帧......

非常感谢你提前!

video camera android image-processing computer-vision

17
推荐指数
1
解决办法
6377
查看次数

视频录制时的Android预览处理

我正在使用Android开发(SDK 2.2),我想用mediaRecorder和进行视频录制,同时在每个预览帧上进行一些处理.

MediaRecorder在一个项目中录制视频,在另一个我使用onPreviewFrame(byte[] data,Camera camera)(从PreviewCallback)处理预览图片.

我试图创建一个相机并与mediaRecorder(setCamera功能)一起使用,但它不起作用.

有可能同时做两件事吗?

其实我不明白如何链接两件事?

我的代码:

package ch.fraise;

import java.io.IOException;
import android.app.Activity;
import android.hardware.Camera;
import android.hardware.Camera.PreviewCallback;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

public class CameraActivity extends Activity implements SurfaceHolder.Callback,
    Camera.AutoFocusCallback {

private SurfaceView preview;
private SurfaceHolder previewHolder;

private MediaRecorder mRecorder;
private Camera mCamera;
private boolean mPreviewRunning = false;
private boolean mCaptureFrame = false; …
Run Code Online (Sandbox Code Playgroud)

android video-capture

8
推荐指数
2
解决办法
1万
查看次数