使用ffmpeg自带的插帧算法
ffmpeg -threads 16 -i in.mp4 -filter_complex "minterpolate='fps=60'" out.mp4
ffmpeg -threads 16 -s 1920x1080 -pix_fmt yuv420p -i in.yuv -filter_complex "minterpolate='fps=60'" out.yuv
自己常用的ffmpeg命令_zhoudegui88的博客-CSDN博客_ffmpeg gamma
先用传统光流法计算光流,再补帧。
补帧方法:计算出像素点A在第0帧和第1帧的位置,(实际上就是该点在经过t时刻的位移)然后取个直线的中点(如果补一帧的话),就能找到该点的中间位置,最终把所有点的位移中点找出来,就能得到一个完整的中间帧。
前向warping:
dst = cv2.remap(img, mapx1, mapy1, cv2.INTER_LINEAR)
后向warping:双线性插值
双向光流补帧:无法计算mask,无法实现
参考