Error in vid.CurrentTime: Expected CurrentTime to be a scalar with value <= 0.

1 次查看(过去 30 天)
I wrote a simple function to read specific frame or a sequence of frames from the video using "readFrame" instead of read since Matlab is phasing "read" out. From time to time I get the following error:
Error using read_frame_video (line 4)
Expected CurrentTime to be a scalar with value <= 0.
I know I'm trying to assign a negative value to CurrentTime property since I'm printing them out. What else could be the source of this error ?
Here's my function: it just reads either one frame or a sequence of frames same way as read used to.
function mov = read_frame_video( vid, frame )
if length(frame)==1
beg=(frame-1)/vid.FrameRate
vid.CurrentTime = beg;
mov=readFrame(vid);
return;
elseif length(frame)==2
if frame(1)<=frame(2)
beg=(frame(1)-1)/vid.FrameRate;
vid.CurrentTime = beg;
I=readFrame(vid);
mov=uint8(zeros(size(I,1),size(I,2),size(I,3),frame(2)-frame(1)+1));
mov(:,:,:,1)=I;
for i=1:frame(2)-frame(1)
mov(:,:,:,i+1)=readFrame(vid);
end
else
display('Incorrect frame indexing');
return;
end
elseif length(frame)>2
display('Array frame has more than 2 elements');
return;
end
end

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB Support Package for IP Cameras 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by