【问题标题】:Real time video processing from camera来自摄像机的实时视频处理
【发布时间】:2013-05-23 01:37:11
【问题描述】:

我遇到了实时视频处理问题。 我想访问后续帧(上一个、当前和下一个)。

...
trigger(RawVideo)
cur_frame=getdata(RawVideo,1,'uint8');
imshow(cur_frame);
...

但我无法从此代码访问上一帧或下一帧。 请帮帮我。

【问题讨论】:

    标签: matlab real-time video-processing


    【解决方案1】:

    如果您正在“实时”处理,您将无法访问 下一个 框架。至于前一帧,您必须创建一个缓冲区来存储它,以便在处理当前帧时可以引用它。您还可以创建两个缓冲区(最后两个前一帧)并将前一帧称为“当前”,将当前帧称为“下一个”,将第二个前一帧称为“前一帧”。也许这有帮助?

    【讨论】:

    • 如何在内存中存储一​​帧?只需将它们分配给不同的变量:prev_frame_2 = prev_frame_1; prev_frame_1 = cur_frame; cur_frame = getdata(RawVideo,1,'uint8');。现在,在第 3 帧之后的任何时间,您都可以访问当前帧、前一帧和前一帧 2。确保在代码开头初始化这些变量:prev_frame_1 = []; prev_frame_2 = [];,或者如果您知道帧的大小:@987654323 @
    • 我觉得不行,你有没有其他方法来获取后续帧?
    • @Bayanaa:如果它不起作用,请发布您尝试过的代码,我们会尝试从那里帮助您。
    • for num = 1: frame_lim trigger(RawVideo); prev_frame_1 = []; prev_frame_2 = []; prev_frame_3 = []; cur_frame = []; cur_frame = getdata(RawVideo,1,'uint8'); prev_frame_1 = cur_frame; prev_frame_2 = prev_frame_1; prev_frame_3 = prev_frame_2;我的功能(prev_frame_2,cur_frame);结束
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-13
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多