昔の話
OpenCVのVideoCaptureを使っていると、あれって思うことがありました。
動画によって、読み込まれたフレームの向きが正しかったり、90度回転していたりするんですよね。特にスマートフォンで撮影した動画で問題が起きていました。
もちろん、一般的な動画プレーヤーで再生すると正しく表示されるような動画です。
この原因としては、動画には向きをあらわすメタデータが含まれているのですが、昔のOpenCVのVideoCaptureだとそれを無視していたためです。
これへの対応としてexiftoolあたりを使ってメタデータを読み込んで、自分でフレームの回転を補正する必要がありました。
現在の話
最近OpenCVの新しめのバージョンを使っていたところ、なぜだか動画のフレームが正しく読み込まれるようになっていました。
なんと、実は2020年の秋くらいからOpenCV側でメタデータを読み込んで回転を補正するようになっていました!めちゃくちゃ良いアップデート!
詳しくはこちらのissue(https://github.com/opencv/opencv/issues/15499 )を見ていただければと思います。
versionが4.5からは間違いなくこの機能が使えそうですので、動画を扱う人は新しめのOpenCVを使いましょう。