首页 > 解决方案 > Python 16bit 灰度视频转 .avi

问题描述

我想使用 OpenCV 将 HDF5 16 位灰度视频转换为 .avi 格式。由于某些原因,即使 cv2.imshow() 看起来正常,创建的 avi 文件看起来也有点放大和扭曲。为了便于阅读,我跳过了 HDF5 帧的提取,但您可以假设gray是 16 位 numpy 数组。

import cv2
import h5py
import numpy as np

fourcc = cv2.VideoWriter_fourcc(*'FFV1')
filename_amp = './testvideo' + datetime.datetime.now().strftime("_%d-%h_%H-%M-%S") + '.avi'
out_amp = cv2.VideoWriter(filename_amp, fourcc, 15, (640,480), 0)

for i in range(dset3.shape[0]):
    gray = dset3[i,:]
    out_amp.write(gray)
    cv2.imshow('Normal Frame - Playback', gray)
    cv2.waitKey(1)

out_amp.release()
cv2.imshow()
VLC 播放器截图

我不知道为什么 .avi 视频看起来如此怪异。

标签: pythonopencvvideohdf5codec

解决方案


推荐阅读