分页: 1 / 1

IVTC小技巧 画中画的处理方法

发表于 : 2010-09-21 14:56
dgwxx
画中画是映像特典、片头片尾中经常出现的表现手法。但很多时候叠加制作画中画都是telecine之后,因此常常出现画中画和背景pattern不同的情况,没有办法IVTC,只能deinterlace。同时,两方的动态也很难统一起来,造成两边动态都不流畅。今天介绍一个小把戏,可以让两边都实现自动IVTC。
整体的思路是,将两边的画面分离,分别IVTC,再重新overlay到一起。但这时就出现一个问题,那就是画中画部分的画面还好说,用crop切出来、IVTC就可以。背景的IVTC因为有画中画干扰,自动处理又不能指定画面范围,所以很难办。所以,这个技巧中最重要的一环就是排除前景对于背景IVTC的干扰。
原始画面:
1.png
首先用crop把前景切出来、IVTC:
2.png

代码: 全选

s = MPEG2Source(d2v).trim(420,719)
box = s.crop(142,88,432,308).tfm(mode=3, pp=0, slow=2, chroma=true).tdecimate(mode=1)
然后,用BlankClip生成一个等大的黑色画面、用overlay盖在原本画中画的位置、将这个画面送去IVTC:
3.png

代码: 全选

black = BlankClip(300, 432, 308, "YV12", s.framerate).killaudio
background = overlay(s, black, 142, 88).tfm(mode=3, pp=0, slow=2, chroma=true).tdecimate(mode=1)
之后再把IVTC完成的两个画面重新overlay到一起:

代码: 全选

overlay = overlay(background, box, 142, 88)
return overlay
就大功告成了。

全部代码:

代码: 全选

s = MPEG2Source(d2v).trim(420,719)
box = s.crop(142,88,432,308).tfm(mode=3, pp=0, slow=2, chroma=true).tdecimate(mode=1)
black = BlankClip(300, 432, 308, "YV12", s.framerate).killaudio
background = overlay(s, black, 142, 88).tfm(mode=3, pp=0, slow=2, chroma=true).tdecimate(mode=1)
overlay = overlay(background, box, 142, 88)
return overlay

Re: IVTC小技巧 画中画的处理方法

发表于 : 2010-10-10 14:46
博葉、空
问下管理员,如果一帧里,有些线条交错了,有些则没有交错。也称为画中画么?

Re: IVTC小技巧 画中画的处理方法

发表于 : 2010-10-10 16:29
264768502
可以以画中画的方法来做
但部分线条交错肯定不能称作画中画就是了

Re: IVTC小技巧 画中画的处理方法

发表于 : 2010-10-10 23:54
dgwxx
博葉、空 写了:问下管理员,如果一帧里,有些线条交错了,有些则没有交错。也称为画中画么?
显然不能称为画中画。
“有些线条交错了”是什么样的呢。

Re: IVTC小技巧 画中画的处理方法

发表于 : 2010-10-11 0:08
Yuricon
dgwxx 写了: 显然不能称为画中画。
“有些线条交错了”是什么样的呢。
http://www.nmm-hd.org/bbs/forum.php?mod ... 8&pid=5941
比如这个 {:cat_4}