Video 闪烁视频序列
我正在实现一个从视频中删除闪烁的工具。要测试该工具, 我希望得到一些视频序列(任何视频格式-MPEG4、H263、MPEG2、H264、原始YUV),其中存在大量的闪烁。我搜索过,但找不到任何这样的视频 顺便问一下,是否有已知的视频后处理工具,可以消除闪烁 任何指示都会有帮助 多谢各位。Video 闪烁视频序列,video,flicker,Video,Flicker,我正在实现一个从视频中删除闪烁的工具。要测试该工具, 我希望得到一些视频序列(任何视频格式-MPEG4、H263、MPEG2、H264、原始YUV),其中存在大量的闪烁。我搜索过,但找不到任何这样的视频 顺便问一下,是否有已知的视频后处理工具,可以消除闪烁 任何指示都会有帮助 多谢各位。 -AD如果你有一个YUV序列,在特定的周期(50 Hz、60 Hz或其他)添加人工闪烁是非常简单的,方法是在所讨论的周期插入一个白色帧,或者你可以摆弄色度平面,使所讨论的帧变轻 测试序列可以在这里找到 顺便说一
-AD如果你有一个YUV序列,在特定的周期(50 Hz、60 Hz或其他)添加人工闪烁是非常简单的,方法是在所讨论的周期插入一个白色帧,或者你可以摆弄色度平面,使所讨论的帧变轻 测试序列可以在这里找到 顺便说一句,通常情况下,手机内置了闪烁消除功能,可以在网络频率的倍数下正常工作。以帧速率(不是25或30 Hz的倍数)录制的慢动作视频是某些相机模块在录制(比如VGA 100 fps)时无法补偿的 下面是一个python函数,它将YUV 4:2:0拆分为帧,并将每个帧存储为单独的文件
def split(fname):
src_yuv = open(fname, 'rb')
cif = 352*288*1.5 # YUV 4:2:0 change to reflect your input!
# Get file size in bytes
src_yuv_size = os.stat(fname)[6]
nr_files = src_yuv_size / cif
filecnt = 0
while True:
buf = src_yuv.read(cif) # read qcif number of bytes
if buf:
s = "frame" + "%s" % filecnt + ".yuv"
dst_yuv = open(s, 'wb')
dst_yuv.write(buf) # write read data into new file
print "writing frame", filecnt
dst_yuv.close()
filecnt = filecnt + 1
else:
break
src_yuv.close()
谢谢因此,如果我必须在Frq添加闪烁。比如说100赫兹(我的电源频率是50赫兹的两倍),那么闪烁周期变为1/100=10毫秒(毫秒)。如果我有一个原始的YUV序列,我以每秒30帧(fps)或每1000毫秒30帧的速度播放。所以从技术上讲,我应该在每0.3帧之后添加一个白色帧。但这个分数框架变得毫无意义。那么,我可以在每一帧之后添加一个白色帧吗?或者应该怎样?