gpt4 book ai didi

Android如何从相机捕获两个连续的帧

转载 作者:太空狗 更新时间:2023-10-29 14:27:30 26 4
gpt4 key购买 nike

我正在尝试在 Android 设备上编写光流程序。我的问题是从相机获取两个连续的帧。

这是获取一帧的代码。

mCamera.setPreviewCallback(new PreviewCallback() {
public void onPreviewFrame(byte[] data, Camera camera) {
synchronized (SampleViewBase.this) {
mFrame2 = data;
SampleViewBase.this.notify();
}
}
});

最佳答案

那么你不能做类似的事情吗:

private byte[] currFrame;
private byte[] prevFrame;

private void copyFrame(byte[] a){
if(a != null) prevFrame = a;
}

mCamera.setPreviewCallback(new PreviewCallback() {
public void onPreviewFrame(byte[] data, Camera camera) {
synchronized (SampleViewBase.this) {
copyFrame(currFrame);
currFrame = data;
SampleViewBase.this.notify();
}
}
});

我不确定这是正确的 Java 语法,但只需复制 currentFrame,然后再将 data 分配给它。无论如何,我认为您还可以使用 VideoCapture 类来获取已经采用 Mat 格式的帧。我不确定这个类在最新版本中是否仍然可用,但根据我使用 Opencv 2.3 的经验,使用它来抓取相机帧比使用 Android 相机要快得多。

关于Android如何从相机捕获两个连续的帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10638650/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com