Сравнение отношения сигнал / шум изображения относительно изображения с добавленным шумом - PullRequest
0 голосов
/ 31 октября 2018

В настоящее время я пытаюсь приблизительно определить количество шума, добавляемого к изображению.

Я добавляю шум, комбинируя мой трехмерный массив, содержащий объем, с трехмерным объемом с нормальным распределением в нем, для которого я установил величину.

метод создания шума:

def RandomNoise(magnitude):
    """Function to make a numpy array of 100x100x100 of random noise"""
    NoiseArray = np.random.normal(0,magnitude,size=(100,100,100))

    return NoiseArray

Тогда я предполагал, что могу определить общее значение увеличения шума с помощью следующего кода:

import numpy
from scipy import stats

n = 0
while n < 10000:

Noise = RandomNoise(0.5) #Makes the random noise array and puts it in Noise
Volumewithnoise = (np.clip((Volume + Noise) * (1 - Volume), -1, 1)) #Adds noise to the MRC whilst waiting the object more highly and clipping the array within 0 and 1
data = Volumewithnoise.astype(np.float16)

VolumeSNR = stats.signaltonoise(Volume, axis=None)
VolumeNoiseSNR = stats.signaltonoise(Volumewithnoise, axis=None)

a = VolumeSNR / VolumeNoiseSNR

with open("outputnoise_0.2.txt", "a") as myfile:
    myfile.write('{} \n'.format(a))

n = n+1

Тогда я просто нанесу это на призму. Среднее значение данных не является необоснованным (увеличение шума примерно в 40 раз), но оно может достигать 10000x, что не очень хорошо отображается. Я что-то здесь неправильно вычисляю или это так?

Спасибо за помощь.

...