What is the opposite of cv2.VideoWriter_fourcc?

拈花ヽ惹草 提交于 2020-12-08 06:47:26

问题


The function cv2.VideoWriter_fourcc converts from a string (four chars) to an int. For example, cv2.VideoWriter_fourcc(*'MJPG') gives an int for codec MJPG (whatever that is).

Does cv2 provide the opposite function? I'd like to display the value as a string. I'd like to get a string from a fourcc int value.

I could write the conversion myself, but I'd use something from cv2 if it exists.


回答1:


I don't think cv2 has that conversion. Here is how to convert from fourcc numerical code to fourcc string character code (assuming the numerical number is the one returned by cv2.CAP_PROP_FOURCC):

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

So for example if you open a video capture stream to get info about the codec or to get info about a specific codec you could try this:

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))


来源:https://stackoverflow.com/questions/49138457/what-is-the-opposite-of-cv2-videowriter-fourcc

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!