【问题标题】:imshow shows rotated imageimshow 显示旋转的图像
【发布时间】: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


【解决方案1】:

最新的Matlab垂直翻转帧的函数是:

FlippedFrame = flip(frame,1);

【讨论】:

    猜你喜欢
    • 2012-01-13
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-07
    • 2021-06-14
    相关资源
    最近更新 更多