(420拉成444,chroma的noise变成grain,不知会不会影响到降噪的效果...)
或者用blankclip合成3个YUV?
edit:发现tvrange的luma和chroma值域不同(full=False),用mvf.Depth转换为32float后再拆成Gray,处理完输出32float合成YUV再转16intTVrange是否就可避免这个问题了?
![18 {:cat_18}](./images/smilies/Icon_cat_18.gif)
首先BM3D依赖于block match进行降噪,而对于YUV,Y是用于BM的,如果分开处理意味着U、V被用作BM,而它们本身通常并不适合做BM(包含的结构信息太少);其次是OPP效果比普通matrix的YUV好。NAVras 写了:请问大大,将YUV420拆成3个GRAY给BM3D(mvf),降噪的效果会降低吗(相对于OPP)?
(420拉成444,chroma的noise变成grain,不知会不会影响到降噪的效果...)
或者用blankclip合成3个YUV?
edit:发现tvrange的luma和chroma值域不同(full=False),用mvf.Depth转换为32float后再拆成Gray,处理完输出32float合成YUV再转16intTVrange是否就可避免这个问题了?
总之...如何处理色度有半采样的源呢...
你想要的功能跟BM3D本身没有任何关系(如果加入了这个功能才是莫名其妙的事),而这个功能在VS的std函数里就有(std.SelectEvery)。Echo 写了:敢问楼主,能否通过修改 BM3D源代码实现 视频降低帧率的输出呢
比如,想要实现100帧的输入,50帧的输出这样
尝试改了好久,没能实现。
先行谢过
谢谢大大mawen1250 写了: 首先BM3D依赖于block match进行降噪,而对于YUV,Y是用于BM的,如果分开处理意味着U、V被用作BM,而它们本身通常并不适合做BM(包含的结构信息太少);其次是OPP效果比普通matrix的YUV好。
所以我的建议是转YUV444处理(mvf.BM3D里做的)。
好的,明白了,谢谢楼主提示mawen1250 写了: 你想要的功能跟BM3D本身没有任何关系(如果加入了这个功能才是莫名其妙的事),而这个功能在VS的std函数里就有(std.SelectEvery)。
不是很懂你的思考逻辑……Echo 写了: 好的,明白了,谢谢楼主提示
那个,我之前可能表达的不够清楚,我想做的是: 100帧的输入,间隔一帧做一次BM3D处理,最终只要输出BM3D处理过的50帧。大概是这个意思,嘿嘿。
现在已经知晓楼主的意思了,再次感谢
这样处理的好处是,可以利用100帧的信息;vempx 写了: 不是很懂你的思考逻辑……
你这个需求,先在VS里面用内置滤镜把100帧变成50
然后再把这50帧全部送给BM3D处理输出不就行了?
过完BM3D再select every输出?Echo 写了: 这样处理的好处是,可以利用100帧的信息;
对于需要帧间关系来完成的处理更为有益。