在 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中,视频相关功能都不起作用。也可以使用Octave bindings for OpenCV来捕获视频,但我主要是寻找更多纯和便携式方式。
答案 0 :(得分:3)
安装并加载图像采集包。 有关更多信息,请阅读Wiki:http://wiki.octave.org/Image_acquisition_package
答案 1 :(得分:1)
如果其他解决方案失败,您可以尝试逐帧捕获。您可以使用for循环并将帧添加/绑定在一起。 aviread已经在那里捕捉帧。至少这是我在其他一切都失败时的表现。