根据SNR在图像上添加白噪声

时间:2019-01-23 08:43:23

标签: python signal-processing whitenoise

我想在具有不同SNR级别的原始图像上添加白噪声,但不确定如何做。

原始图像为(256, 128),我正在使用acoustics软件包添加噪点。

original = cv2.imread(path)
white = acoustics.generator.white(256*128).reshape(256, 128)
out = original + white*255

cv2.imwrite(path, out)

我的问题:

  1. log10(mean(original)/ std(original + white*255))是否算作SNR?(根据here

  2. 如果是这样,我可以修改*255这个数字来修改SNR吗?

  3. 如果没有,如何计算SNR值?

1 个答案:

答案 0 :(得分:1)

关键事实是(这是数学,而不是代码)

curl -XPUT 'localhost:9200/_template/template_1' \
  -H 'Content-Type: application/json' \
  -d '**your query**'

将噪声乘以某个常数SNR = mean(s) / std(n) 会产生新的SNR – A

SNR_new

因此,向后工作,我认为,这是python中的正确方法是:

mean(s) / std(A*n) 
= mean(s) / (A * std(n)) 
= (1 / A) * (mean(s) / std(n)) 
= SNR / A
= SNR_new