从iPhone相机捕获的视频似乎被OpenCV旋转了90度?我该如何解决?

时间:2019-09-03 11:37:01

标签: c++ opencv video computer-vision opencv4

我从iPhone拍摄视频并将每一帧从彩色转换为灰度,但是在OpenCV(4.1,C ++)中,视频似乎旋转了90度

在MATLAB或VLC播放器上(当我检查时)没有出现相同的问题

示例代码

   // frame
    Mat current_frame;
VideoCapture capture("file_name.mov");

// Check - video file does not open for reading
if (!capture.isOpened())
    throw "Error when reading steam_avi";
capture >> current_frame;

1 个答案:

答案 0 :(得分:0)

Rachit,

电话摄像头可以四个方向录制视频: 风景-相机在左边 风景-右边的相机 人像-顶部的相机 纵向-底部的相机。

在每种情况下,旋转标志都被编码到视频中,并且由解码器决定是否接受该标志并在读取时执行适当的旋转。我相信这样做是为了提高编码性能。

MATLAB在Windows 10上肯定会很荣幸。

另一方面,Windows 7不支持此标志,您将看到旋转的视频。由于MATLAB似乎使用Windows框架进行读取,因此它也会在MATLAB中旋转。

希望这会有所帮助。

Dinesh