海波湛蓝
帖子: 68
注册时间: 2011-02-24 21:39

如何获取Tdeint实际输出的mask

VS的Tdeint参数show=True输出的mask,明显与AVS的不同,无法直接用这个mask做MaskedMerge。如图。
想请教:VS的Tdeint的mask,如何正确地转换成实际可用的mask

VS:
Tdeint = core.tdm.TDeintMod(src16, order=1, field=1, mode=0, show=True)
Tdeint_VS.png
AVS:
TDeint(src, mode=0, order=1 , field=1 , map=1 , emask=TMM(src,order=1,field=1) )
Tdeint_AVS.png
头像
Holy
核心会员
核心会员
帖子: 235
注册时间: 2010-09-24 9:28

Re: 如何获取Tdeint实际输出的mask

因為 TDeintMod 的 show 並不等於原版的 map,它只是單純輸出 motion mask 的 pixel 值而已,也就是 TMM 本身。當初設這參數只是我自己拿來驗證用的而已。
图片
海波湛蓝
帖子: 68
注册时间: 2011-02-24 21:39

Re: 如何获取Tdeint实际输出的mask

{:xiaocry} 收到作者菊苣的回复好感动
{:xiaocry} 是我不认真,确实是tmm本身
{:xiaocry} 可以厚颜地求给个map的参数吗
头像
Holy
核心会员
核心会员
帖子: 235
注册时间: 2010-09-24 9:28

Re: 如何获取Tdeint实际输出的mask

TDeint 本身就已經有 comb 檢測與動態檢測,我貌似沒看過有人用 TDeint 的 map 輸出作為 mask 來使用?另外跟 TCombMask 相比如何?
图片
海波湛蓝
帖子: 68
注册时间: 2011-02-24 21:39

Re: 如何获取Tdeint实际输出的mask

Holy 写了:TDeint 本身就已經有 comb 檢測與動態檢測,我貌似沒看過有人用 TDeint 的 map 輸出作為 mask 來使用?另外跟 TCombMask 相比如何?

以下个人浅见,有错地方,烦请菊苣斧正 {:xiaocry}

Tdeint主要优点在于:
在全屏交错中覆盖无交错区域(比如字幕),字幕破坏轻微且边缘处理效果理想

Tdeint主要缺点在于:
1.斜纹线条形成轻微锯齿
2.动态大的非线条区域保留下轻微的交错痕迹

我经常处理的多是30i上面覆盖30p字幕,所以我对Tdeint的使用一般是:
Tdeint处理其它方式mask住的字幕,其它区域QTGMC

####

TCombmask实际效果不如Tdeint多了:
1.微动较难检测到
2.静态比较模糊的纹理误杀

我通常的做法是……因为Tdeint的两个缺点而放弃Tdeint,采用TCombmask用力expand大涂抹后QTGMC

####

之所以想求map参数,是想尝试下,能否通过配合其他的Combmask的插件,修复我认为的Tdeint的缺点 {:xiaocry}

####

其实还有个问题
动态检测主要针对
静态无交错上面覆盖动态交错
但是对于
静态及动态有交错上面覆盖动态无交错
似乎一直没有有效的办法……
上次由 海波湛蓝 在 2018-02-10 17:52,总共编辑 1 次。
头像
Holy
核心会员
核心会员
帖子: 235
注册时间: 2010-09-24 9:28

Re: 如何获取Tdeint实际输出的mask

那麼請問你有先在 avs 上實驗過用 TDeint 的 map 輸出 mask 做處理,能有效解決你的問題否?
图片
海波湛蓝
帖子: 68
注册时间: 2011-02-24 21:39

Re: 如何获取Tdeint实际输出的mask

Holy 写了:那麼請問你有先在 avs 上實驗過用 TDeint 的 map 輸出 mask 做處理,能有效解決你的問題否?

Avs上我目前是这么尝试的:

TDeint = TDeint (src, mode=0, order=1 , field=1 , map=1 , emask=TMM( src ,order=1,field=1) ).separatefields().SelectEvery(2,1).pointresize(1920,1080)
TCombmask = TCombMask( src ,athreshL=1, athreshC=8, mthreshL=1,mthreshC=8, lclinked=true,MI=0)
mt_tcmax = mt_logic(TDeint , TCombmask , mode="max").mt_lut("x 205 <= 0 255 ?",u=1,v=1). RemoveGrain(4, -1)

效果比较凑合
动态的部分,不管是不是交错,大部分mask掉了,部分比较模糊的纹理会漏掉
静态的部分,字幕还能看……

对于
静态及动态有交错上面覆盖动态无交错
似乎一直没有有效的办法
头像
Holy
核心会员
核心会员
帖子: 235
注册时间: 2010-09-24 9:28

Re: 如何获取Tdeint实际输出的mask

更新了 TDeintMod r9,改變 show=True 輸出的內容,並新增一些參數補齊缺少的功能。
图片
海波湛蓝
帖子: 68
注册时间: 2011-02-24 21:39

Re: 如何获取Tdeint实际输出的mask

Holy 写了:更新了 TDeintMod r9,改變 show=True 輸出的內容,並新增一些參數補齊缺少的功能。

{:xiaocry} Holy High!

{:xiaocry} Holy High!

{:xiaocry} Holy High!

回到 “VapourSynth”