分页: 1 / 1

快被vivtc搞疯了

发表于 : 2019-05-30 20:57
wfm
不知道为什么vivtc标记的combed经常是错的,每集都要切很多份手工选择是不是要做后处理,气的我写了下面这个东西 {:husky}
input_clip = mvf.Depth(src, depth=16)
src= core.vivtc.VFM(src,1,clip2=input_clip,cthresh=10)

def zzivtc(src,range,mode):#手动后处理
	if len(range)-len(mode)!=1:
		return src[1]#单独输出第一帧,用来报异常
	else:
		i=0
		srcs=[]
		while i<len(range)-1:
			mode=0:#不该反交错的反交错了,这种跳过反交错步骤直接输出即可
			if mode==0:
				srcs.append(core.std.Trim(src,range,(range[i+1]-1)))
			mode=1:#该反交错的没有反交错,强制使用nnedi3反交错
			elif mode==1:
				srcs.append(core.std.Trim(src,range,(range[i+1]-1)).nnedi3.nnedi3(field=1,combed_only=False))
			mode=2:#程序判断正确,使用带判断的nnedi3反交错
			elif mode==2:	
				srcs.append(core.std.Trim(src,range,(range[i+1]-1)).nnedi3.nnedi3(field=1,combed_only=True))
			else:
				return src[10]#单独输出第10帧,用来报异常
			i=i+1	
		srcs.append(core.std.Trim(src,range,range))	
		src=core.std.Splice(srcs)
		return src

src=zzivtc(src,[0,11005,42555],[1,2])

我觉得更根本的方法是通过vthresh之类的设定来提高识别率,但是又不知道该怎么设置。或者是不是有更好的滤镜。

Re: 快被vivtc搞疯了

发表于 : 2019-06-13 18:13
787633258