【发布时间】:2018-09-01 16:16:53
【问题描述】:
我有一堆来自 iPhone 的视频,我正在尝试使用 opencv 以编程方式获取它们的宽度和高度。这是我的代码:
import os, glob
import cv2
ff = glob.glob("*.m??") + glob.glob("*.M??")
for f in ff:
cap = cv2.VideoCapture(f)
w, h = (int(cap.get(i)) for i in (3, 4))
cap.release()
print("%s: %dx%d" % (f, w, h))
问题是,结果总是一样的:1920x1080,——不管电影是水平的(1920*1080)还是垂直的(我希望是 1080*1920)。
任何想法如何解决这个问题?也许某处有一个标志可以告诉它是Horiz还是Vert?我在这里没有找到任何东西 at opencv docs... 谢谢!
【问题讨论】:
-
相机始终以水平模式录制,您必须读取设备/视频的“旋转信息”并手动旋转视频。也许 OpenCV 没有读取旋转信息的选项。
-
谢谢你,Micka,但正如我所写,我正在寻找的正是那个——某种标志……这里似乎没有什么与我相关:docs.opencv.org/3.3.1/d4/d15/…
-
哦,我忘了说我正在处理 *.MOV 视频。
-
我认为用opencv获取方向是不可能的——你可以使用ffmpeg来获取方向数据(见how-to-extract-orientation-information-from-videos)
-
德米特里 Z:哈! :) 它被称为 KLUDGE,但绝对适合我,谢谢!!!
标签: opencv video dimensions