【发布时间】:2015-01-06 11:34:24
【问题描述】:
我正在使用 Matlab 显示视频序列中的帧,下面是我的代码:
seq=sprintf('walk%d.avi',v); % video's name
videoReader = vision.VideoFileReader(seq);
vidObj = VideoReader(seq);
numFrames = vidObj.NumberOfFrames
for i = 1:numFrames
frame = step(videoReader); % read the next video frame
imshow(frame)
end
实际上它以前工作得很好,我不知道从什么时候开始以及是什么原因导致它显示旋转的图像。希望你们能帮助我。谢谢你。
【问题讨论】:
-
旋转(多少)或翻转?
-
Matlab 将图像显示为一个矩阵,第一个坐标(行)自上而下,第二个坐标(列)从左到右。如果您的图像采用 x-y 约定,它们将旋转 180˚。
-
@user3168226 是的,看起来
VideoFileReader不喜欢 .avi 视频。 -
flipud仅适用于二维矩阵。如果要旋转彩色图像/帧(这是不可避免的),请使用imrotate并指定 180 度作为旋转角度。 -
我正在使用
flimdim,它成功了。谢谢大家!
标签: matlab image-processing computer-vision matlab-cvst