algorithm - Neatimage 使用哪种算法对图像进行去噪?

标签 algorithm graphics image-processing filter noise

Neatimage 使用哪种算法去除照片中的噪点和颗粒?我知道这是专有软件,但可能有人有想法。欢迎引用出版物或类似算法。

最佳答案

在最基本的情况下,降噪通常使用像素平均。当然,问题在于简单的平均会丢失细节。对更多像素进行平均会更多地降低噪点,但会丢失更多细节。对较少的像素进行平均会损失较少的细节,但会减少较少的噪声。

像 NeatImage 或 Noise Ninja 之类的东西会自适应地进行像素平均——例如,它会从扫描发生在足够多像素上的变化开始,这些像素不太可能是噪音,并且在它看到这些像素的地方,做对更少的像素进行平均。

他们还会考虑图片的 channel 。普通数码相机的每个传感器前面都有一个滤镜。正常排列类似于 g-r-g-b(也称为拜耳模式)。在典型情况下,绿色滤光片比红色或(尤其是)蓝色透射更多的光。为了保持最终画面的色彩平衡,必须“增强”画面中蓝色的亮度以进行补偿。然而,这往往会增加蓝色 channel 中的噪声。为了对此进行补偿,降噪器通常会在绿色 channel 中进行最少的平均,在红色 channel 中进行更多平均,在蓝色 channel 中进行更多平均。

高级降噪器通常会从单个传感器的噪声模型开始,然后根据该模型应用降噪。 IIRC,NeatImage 还允许您采用“暗帧”(例如,在镜头盖打开的情况下进行 30 秒曝光)以更好地了解您的确切传感器的确切噪声特性,并将其考虑在内(我知道 Noise Ninja 允许那,如果内存服务 NeatImage 也一样)。通常,要使其发挥最佳效果,您需要从五个暗框开始。您对这些进行统计分析以找到 1) 哪些像素始终亮或暗(“卡住像素”)和 2) 您可以在噪声中找到的任何一致模式,以便您可以直接消除这些模式(例如,传感器靠近处理的部分可能会变暖,因此比其他部分更嘈杂),以及 3)即使没有真正的模式(例如,一些传感器显示亮度噪声,其他传感器主要显示色度噪声),噪声的类型和变化程度也是如此。

关于algorithm - Neatimage 使用哪种算法对图像进行去噪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1589054/

相关文章:

c# - 用白色替换黑色区域

c++ - 如何相对于其他元素过滤 vector 元素?

iphone - 算法:在 NSDictionary 中保持键/值对的计数

确定一组中的最低付款的算法

python素数生成

graphics - 如何确定一个点是否在二维网格内(CGAL)?

cocoa - NSBezierPath/线相交/展平

opengl - 纹理缓冲对象还是常规纹理?

python - 如何根据目标像素替换 Numpy 图像数组中的所有 RGB 值

python - Opencv houghLines 不检测线