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

发布于 2024-08-08 09:52:47 字数 67 浏览 6 评论 0原文

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

Which kind of algorithm does Neatimage use to remove noise and grain from photos? I understand that this is proprietary software, but probably someone has an idea. References to publications or to similar algorithms are welcome.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

惟欲睡 2024-08-15 09:52:47

最基本的是,降噪通常使用像素平均。当然,问题在于简单的平均会丢失细节。平均更多像素可以更多地减少噪点,但会丢失更多细节。平均较少的像素会丢失较少的细节,但减少的噪点也较少。

像 NeatImage 或 Noise Ninja 这样的东西会自适应地进行像素平均——例如,它将首先扫描在足够多的像素上发生的变化,这些像素不太可能是噪声,并且在看到这些变化的地方进行平均更少的像素。

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

先进的降噪器通常会从单个传感器的噪声模型开始,并根据该模型应用降噪。 IIRC、NeatImage 还允许您拍摄“暗帧”(例如,在盖上镜头盖的情况下进行 30 秒曝光),以便更好地了解您的确切传感器的准确噪声特性,并考虑到这一点(我知道 Noise Ninja 允许如果没记错的话,NeatImage 也能做到)。通常,为了使其发挥最佳效果,您需要从五个黑框之类的东西开始。您可以对这些进行统计分析,以找到 1) 哪些像素始终亮或暗(“残留像素”),以及 2) 您可以在噪声中找到的任何一致模式,以便您可以直接消除这些模式(例如,靠近处理的传感器部分)可能会比其他部分更热,因此噪音更大),以及3)即使没有真正的模式,噪音也会带来变化的类型和程度(例如,一些传感器显示亮度噪声,其他传感器主要显示色度噪声)。

At its most basic, noise reduction normally uses pixel averaging. The problem, of course, is that simple averaging loses detail. Averaging more pixels reduces noise more, but loses more detail. Averaging fewer pixels loses less detail, but reduces the noise less.

Something like NeatImage or Noise Ninja will do its pixel averaging adaptively -- for example, it'll start with a scan for changes that occur over enough pixels that they're unlikely to be noise, and where it sees those, do the averaging over fewer pixels.

They will also take the channels of the picture into account. A normal digital camera has a filter in front of each sensel. The normal arrangement is something like g-r-g-b (aka, a Bayer pattern). In a typical case, the green filter transmits more light than the red or (especially) the blue. To maintain the color balance in the final picture, the brightness of the blues in the picture has to be "boosted" to compensate. This, however, tends to increase the noise in the blue channel. To compensate for that, the noise reducer will normally do rather minimal averaging in the green channel, somewhat more in the red channel, and more still in the blue channel.

An advanced noise reducer will normally start with a model of the noise for an individual sensor, and apply the noise reduction based on that model. IIRC, NeatImage also allows you to take "dark frames" (e.g. a 30 second exposure with the lens cap on) to get a better map of the exact noise characteristics of your exact sensor, and take that into account (I know Noise Ninja allows that, and if memory serves NeatImage does as well). Normally, for this to work its best, you want to start with something like five dark frames. You statistically analyze those to find 1) which pixels are consistently bright or dark ("stuck pixels") and 2) any consistent patterns you can find in the noise so you can eliminate those directly (e.g., the part of the sensor near the processing may get warmer, and therefore noisier, than other parts), and 3) the type and degree of variation to expect from noise even where there isn't really a pattern (e.g. some sensors show luminance noise, others mostly chrominance noise).

怎言笑 2024-08-15 09:52:47

这篇论文看起来很有前途:

http://research.microsoft.com/~larryz/04359321.pdf< /a>

它简要讨论了 NeatImage 的算法,并且是一个很好的起点。

This paper looks promising:

http://research.microsoft.com/~larryz/04359321.pdf

It discusses NeatImage's algorithm briefly and would be a good place to start.

凉世弥音 2024-08-15 09:52:47

我认为所有三个主要(Noiseware、Neat Image、Noise Ninja)都应用了某种小波去噪。
原因很简单,所有非本地方法实现起来都太慢。
尽管 DXO 的原始转换器使用非本地方法。

您可以轻松找到一些相关文章(然后回来向我们指出您找到的最好的文章)...

I think all the three major (Noiseware, Neat Image, Noise Ninja) apply some kind of Wavelets Denoising.
The reason is simple, all non local methods are too slow to implement.
Though DXO's Raw Converter uses Non Local Means.

You could easily find some articles on that (And come back to point us for the best you found)...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文