【问题标题】:Image noise estimation base on histogram基于直方图的图像噪声估计
【发布时间】:2019-11-29 16:05:09
【问题描述】:

我想估计输入图像的噪声水平。

我制作了一些噪声和原始图像的直方图并进行了比较,通过查看图像的两个不同阶段的直方图,我们可以分辨出哪个是嘈杂的以及存在哪种类型的噪声。 (我所说的噪声,是指常见的噪声类型,如高斯、泊松、斑点等)

我想知道是否有一种方法可以检测噪声模型,然后从图像直方图中估计噪声水平(基于特定噪声模型,如高斯标准的标准)?像识别密度函数?或者这个任务可能需要空间域以外的其他形式的输入,比如它需要转换图像然后执行任务。

我正在使用像素值变化非常小的图像(例如渐变),然后我自己应用噪声来比较无噪声和噪声图像的直方图。

编辑:为了清除,我知道您可以通过查看直方图来检测噪声。我正在寻找一种我自己不会“在视觉上”这样做的方法。我想检测噪声和密度函数,然后如果它是高斯或泊松或......。

如果有人能提供任何关于解决此问题的正确途径的提示,我将不胜感激。

【问题讨论】:

  • 首先,您声称“通过查看图像的两个不同阶段的直方图,可以分辨出哪个有噪声以及存在哪种类型的噪声”。接下来你问“我想知道是否有一种方法可以从图像直方图中检测噪声模型 [...]?”在我看来,您的第一个陈述回答了您的问题。
  • 您可以检查直方图中的均匀分布,这可能意味着噪声
  • Cris 我正在寻找一种方法来消除噪音,而不是自己直观地查看直方图

标签: python image-processing noise


【解决方案1】:

一般来说,通过分析直方图是无法确定噪声分布的。因为,很难确定这些变化是由于图像纹理和光照变化,还是由于噪声。这是海滩沙子的原始和噪声图像(高斯噪声)的简单示例直方图:

由于图像方差很大并且本身具有高斯分布,因此噪声确实会稍微改变直方图。请注意,我们没有现实世界中的原始图像进行比较。
对于您的情况,如上所述,原始图像是平滑的,因此图像的方差很低。任何噪声都会显着增加方差,这在直方图中很明显。 所以对于问题的基本部分,

我想估计输入图像的噪声水平。

用于估计图像噪声的最简单技术是找到图像中最平滑的部分,找到该部分的直方图,并根据该部分估计整个图像的噪声分布。下面是一个使用 Opencv 进行噪声估计的例子:

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('cameraman.bmp',0)
row, col = img.shape
gauss = np.random.normal(10,10,(row,col))
noisy = img + gauss
smooth_part = noisy[:30, :30]

plt.subplot(221),plt.imshow(noisy,cmap = 'gray')
plt.title('Noisy Image'), plt.xticks([]), plt.yticks([])
plt.subplot(222),plt.imshow(smooth_part,cmap = 'gray')
plt.title('Smooth Part'), plt.xticks([]), plt.yticks([])
plt.subplot(223),plt.hist(noisy.ravel(),256,[0,256])#; plt.show()
plt.title('Noisy Image Histogram'), plt.xticks([]), plt.yticks([])
plt.subplot(224),plt.hist(smooth_part.ravel(),256,[0,256])#; plt.show()
plt.title('Estimated Noise Distribution'), plt.xticks([]), plt.yticks([])
plt.show()

结果:

【讨论】:

  • 谢谢 masoud 正如您所提到的,在您分析图像的平滑部分时,噪声会在视觉上显示出来,我之前尝试过这个,我正在寻找的是我可以做一些计算,如果它是高斯还是泊松......之后有什么方法可以识别噪声密度函数或类似的东西......?再次感谢
  • 第二个问题,可以估计噪声分布函数。对于上面的示例,您可以简单地计算噪声的均值和方差。第一个问题,请查看here
猜你喜欢
  • 2011-01-27
  • 2011-10-18
  • 1970-01-01
  • 2013-02-02
  • 2019-02-27
  • 2015-11-18
  • 1970-01-01
  • 2016-01-11
相关资源
最近更新 更多