分页: 1 / 1

降噪时如何保护线条

发表于 : 2018-04-03 19:32
JasinChen
像knlmeans这类降噪滤镜似乎都没有mask的参数
想请教有没有什么代码可以实现只对画面降噪不对线条降噪

Re: 降噪时如何保护线条

发表于 : 2018-04-03 20:59
Muonium
KNLMeansCL 作为高质量的 denoiser, 在降噪力度不过大时,算法本身就能很好的保护线条,不太需要额外保护
如果实在需要的话,可以用那些经典的方法,比如 Repair,LimitFilter,手写mask(如TCanny)等

Re: 降噪时如何保护线条

发表于 : 2018-04-03 22:00
JasinChen
Muonium 写了: 2018-04-03 20:59 KNLMeansCL 作为高质量的 denoiser, 在降噪力度不过大时,算法本身就能很好的保护线条,不太需要额外保护
如果实在需要的话,可以用那些经典的方法,比如 Repair,LimitFilter,手写mask(如TCanny)等
谢谢
mask生成我会,但是如何利用mask起到保护作用我不太明白

mask = core.tcanny.TCannyCL(clip)

clip = core.knlm.KNLMeansCL(clip)
mask如何带入降噪滤镜

Re: 降噪时如何保护线条

发表于 : 2018-04-03 22:07
Muonium
JasinChen 写了: 2018-04-03 22:00 mask生成我会,但是如何利用mask起到保护作用我不太明白

mask = core.tcanny.TCannyCL(clip)

clip = core.knlm.KNLMeansCL(clip)
mask如何带入降噪滤镜

要带入降噪滤镜的话,要不就
mask = core.tcanny.TCannyCL(clip)
denoise = core.knlm.KNLMeansCL(clip)
clip = core.std.MaskedMerge(denoise, clip, mask)


要不你可以试试玩 KNLMeansCL 的 rclip 这个参数:
上面的默认情况相当于
core.knlm.KNLmeansCL(clip, rclip=clip)
,你可以试试把 rclip 的输入修改一下。

具体怎么修改就见仁见智了