【发布时间】:2016-03-20 02:57:53
【问题描述】:
我想将视频中的每一帧存储在一个通用列表中,以便以后处理。我的列表声明如下:List<Image<Bgr, Byte>> Stream_to_Images = new List<Image<Bgr, Byte>>();。
为了导入它,我创建了一个每 33 毫秒计时一次的计时器,以便获取每一帧。触发的事件应将框架导入列表。因此我尝试了以下几行:
要么只是一个简单的 .Add()
Stream_to_Images.Add(_capture.QueryFrame());
或者每帧都有一个计数器,并处理每个位置本身。
Stream_to_Images[StreamPosition] = _capture.QueryFrame();
StreamPosition++;
使用第一个,我的整个列表只包含一帧,不是最后一帧,而是视频末尾的一帧,第二个选项导致ArgumentOutOfRangeException。我的想法不多了,还有其他方法可以将视频中的每一帧存储在列表中吗?
** 更新 **
我试图通过使用这个来从列表更改为数组
imageBox1.Image = _capture.QueryFrame();
image_array.Add(_capture.QueryFrame());
但是,如果我尝试对数组进行交互并显示视频,我只能得到最后一帧的图片。
【问题讨论】: