videooptflowlines()函数在matlab中起什么作用?
此函数videooptflowlines()的用途是什么;对象hof是否也包含有关计算光流的前一帧的信息videooptflowlines()函数在matlab中起什么作用?,matlab,computer-vision,matlab-cvst,Matlab,Computer Vision,Matlab Cvst,此函数videooptflowlines()的用途是什么;对象hof是否也包含有关计算光流的前一帧的信息 hvfr = vision.VideoFileReader('viptraffic.avi', ... 'ImageColorSpace', 'Intensity', ... 'VideoOutputDataType', 'uint8'); hidtc = vision.I
hvfr = vision.VideoFileReader('viptraffic.avi', ...
'ImageColorSpace', 'Intensity', ...
'VideoOutputDataType', 'uint8');
hidtc = vision.ImageDataTypeConverter;
hof = vision.OpticalFlow('ReferenceFrameDelay', 1);
hof.OutputValue = 'Horizontal and vertical components in complex form';
hsi = vision.ShapeInserter('Shape','Lines','BorderColor','Custom', 'CustomBorderColor', 255);
hvp = vision.VideoPlayer('Name', 'Motion Vector');
while ~isDone(hvfr)
frame = step(hvfr);
im = step(hidtc, frame); % convert the image to 'single' precision
of = step(hof, im); % compute optical flow for the video
lines = videooptflowlines(of, 20); % generate coordinate points
if ~isempty(lines)
out = step(hsi, im, lines); % draw lines to indicate flow
step(hvp, out); % view in video player
end
end
release(hvp);
release(hvfr);
函数
videooptflowlines
是计算机视觉系统工具箱中的演示()使用的辅助函数。通过在Matlab命令窗口中键入edit videooptflowlines
,可以查看此函数的代码。代码中的注释表示,正如其名称所示,该函数用于的帮助示例中
基本上,该函数进行基本数学运算,以创建指示光流方向的矢量线。代码中有几个参数可能取决于所用图像的分辨率。如果您正在创建使用此功能的自己的代码,您可能应该创建它的副本并编辑新版本以满足您的需要。第二个问题的答案是“是”。vision.OpticalFlow对象不包含有关前一帧的信息