cv2.VideoWriter_fourcc的相反是什么?

11

函数cv2.VideoWriter_fourcc将一个字符串(四个字符)转换为整数。 例如,cv2.VideoWriter_fourcc(*'MJPG')将为编解码器MJPG生成一个int值(这是什么)。

OpenCV是否提供相反的功能?我想将该值显示为字符串。我想从fourcc int值中获取一个字符串。

我可以自己编写转换代码,但如果OpenCV中存在相关功能,我愿意使用它。

1个回答

17

我认为OpenCV没有这种转换功能。以下是将fourcc数值代码转换为fourcc字符串字符代码的方法(假设数值代码是cv2.CAP_PROP_FOURCC返回的代码):

# python3
def decode_fourcc(cc):
    return "".join([chr((int(cc) >> 8 * i) & 0xFF) for i in range(4)])

例如,如果您打开视频捕获流以获取有关编解码器的信息或获取有关特定编解码器的信息,可以尝试执行以下操作:

c = cv2.VideoCapture(0)
# codec of current video
codec = c.get(cv2.CAP_PROP_FOURCC)
print(codec, decode_fourcc(codec))
# codec of mjpg
codec = cv2.VideoWriter_fourcc(*'MJPG')
print(codec, decode_fourcc(codec))

可能不是。如果您有0情况的解决方案,请回复。 - Alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接