我想在具有不同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)
我的问题:
log10(mean(original)/ std(original + white*255))
是否算作SNR?(根据here)
如果是这样,我可以修改*255
这个数字来修改SNR吗?
如果没有,如何计算SNR值?
答案 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