我正在研究C ++中非局部均值降噪算法的实现。有关这种算法的论文(such as this paper),但它们也不是很清楚。
我知道,它使用的是加权平均值,但我不知道这里研究窗口的用途是什么,它与比较窗口有什么关系。
作为新用户,StackOverflow不允许我上传图片。但是,您可以在上面提供的链接的nl均值部分找到公式。
答案 0 :(得分:4)
根据您所指的论文,在确定给定像素p的结果值时,图像的所有其他像素将根据其邻域与像素p的邻域之间的相似性进行加权和求和。
但这在计算上非常昂贵。因此作者限制了有助于加权和的像素数量;这必须是你所谓的搜索窗口。该搜索窗口是以像素p为中心的21×21区域。被比较的社区大小为7x7(第5节)。
我可以使用Mathematica快速制作原型,并且我确认当搜索窗口的大小增加时它变得非常昂贵。在C ++中实现时,我期望相同的行为。
答案 1 :(得分:1)
这里有一些GPL的C ++代码以及原始作者对该算法的简要描述:http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/
答案 2 :(得分:1)