版面规则
提问时请注意:尽量详细描述操作过程、AVS脚本内容等,最好能写出片名,只贴图有时无法看出问题原因。
提示:发布原创内容请尽量使用附件上传。使用网盘会出现过期失效的问题,请注意。
lwjkk666
帖子: 321
注册时间: 2012-05-29 13:43

利用mt_makediff做锐化一问

最近压个片,如图。部分画面线条略模糊,就打算锐化一下提升观感。之后扒t大的masktool教程,用makediff还有adddiff做锐化效果很好。
代码是:
参考思路
clip_blur =src.RemoveGrain(20).RemoveGrain(20)
dif_nr =mt_makediff(c, clip_blur)
mt_adddiff(c, diff_blur, U=2, V=2)
------------------------------------------------------
sharp = mt_adddiff(mt_makediff(src8, src8.RemoveGrain(20).RemoveGrain(20), U=3, V=3), U=3,V=3)
mask = mt_edge(thY2=255).mt_lut("x 1.2 ^")
mt_merge(sharp, src8, eemask, luma=true)

这样一套下去,如图,效果很满意,线条比原盘好看很多,但是发现静态噪点很厚,难看,于是想咨询一下大虾们mask要怎样建,才能实现出到想要的效果,锐化后但是那些静态噪点和原盘一样或者比原来少,这部剧场版原盘暗场有噪点,看着感觉是静态的。
---------------------------------------------------------
sharp
sharp
src
src
也试过照搬FCH大的脚步里面的代码(之前关于日升动画banding处理,NRDB那个帖子里),观察过,感觉和原盘没差别,锐化没效果的感觉,不知道怎么回事了。

BMP图被QQ截图毁了,附个BMP原图http://pan.baidu.com/s/1gdCYelX
头像
mawen1250
核心会员
核心会员
帖子: 670
注册时间: 2011-07-24 20:33

Re: 利用mt_makediff做锐化一问

做锐化要避免增强噪点,很重要的一个思路是做pre-filter,mask只是辅助手段——mask并不能解决噪点的问题,一是不一定框的好,二是就算框好了,通常噪点也是全局分布的,也就是不能避免边缘附近的噪点产生的问题(尤其是ringing产生的蚊噪)。

而pre-filter的具体方法,就是先用一个filter去除噪点,然后应用unsharp mask进行边缘/纹理锐化,最后再把去掉的噪点加回去。
至于pre-filter使用的具体filter,可以自己尝试,简单快速的话RemoveGrain之类就可以,而KNLMeans、BM3D都是能高质量去除静态噪点同时保留其他细节纹理的降噪滤镜(相比之下,前者对动态噪点更有效,后者对静态噪点更有效)。

像LSFmod、CSmod里也都有pre-filter模式。
不过LSFmod的preblur有个问题是,锐化之后用于limit的reference clip取的是preblur处理后的clip,导致最终输出的clip会引入preblur的效果。
lwjkk666
帖子: 321
注册时间: 2012-05-29 13:43

Re: 利用mt_makediff做锐化一问

是否可以理解为,先用譬如用KNLMeans之类的做降噪,之后的clip用unsharp 做锐化,说实话,之前一直试着还真没想到,我就试过RemoveGrain做降噪后再上KNLMeans的,之后unsharp锐化之后,发觉然并卵,静态噪点照样回来。其实开始没用KNLMeans、BM3D之类的降噪主要怕细节比原盘少很多,之后做的锐化相比原盘损失。PS:BM3D好慢啊。。
lwjkk666
帖子: 321
注册时间: 2012-05-29 13:43

Re: 利用mt_makediff做锐化一问

更新,发现KNLMeans用默认降噪,片子会出现莫名的banding,去掉KNLMeans之后正常。。。。8bit x264下会有,去掉就没。
10bit下正常

回到 “AviSynth”