6

是否有在Octave中捕捉视频的本地方法?

在 Matlab 中,我习惯于使用以下内容(也可能对其他人有用):

a = imaqhwinfo('linuxvideo',1)  # or "imaqhwinfo('winvideo',1)" in Windows
a.SupportedFormats              # check supported formats
vid = videoinput('linuxvideo', 1, 'YUYV_640x480'); # open video stream with one of supported formats

start(vid);                     # start processing video
preview(vid);                   # open preview window

pics = cell(1,20)               # create array to store images from video
for i = 1:20                    
   pause(1);                    # every 1 second ...
   pics{i} = getsnapshot(vid);  # get video frame and save into corresponding position in array
end

但在 Octave 中,与视频相关的功能都不起作用。也可以使用OpenCV 的 Octave 绑定来捕获视频,但我主要是在寻找更纯粹便携的方式。

4

2 回答 2

3

安装并加载图像采集包。有关更多信息,请阅读 Wiki:http ://wiki.octave.org/Image_acquisition_package

于 2014-06-14T16:29:29.027 回答
1

如果其他解决方案失败,您可以尝试逐帧捕获。您可以使用 for 循环并将框架添加/绑定在一起。aviread 已经可以捕获帧。至少这是我在其他一切都失败时所做的。

于 2017-05-16T11:55:44.587 回答