Перейти к содержимому
Compvision.ru
Olezha

Как количественно оценить уровень шума?

Recommended Posts

Здравствуйте! Я наклажываю шум на изображение с помощью следующей функции:

bool AddGaussianNoise_Opencv(const Mat mSrc, Mat &mDst, double Mean = 0.0, double StdDev = 10.0)
{
    if (mSrc.empty())
    {
        cout << "[Error]! Input Image Empty!";
        return 0;
    }
    Mat mSrc_16SC;
    Mat mGaussian_noise = Mat(mSrc.size(), CV_16SC3);
    randn(mGaussian_noise, Scalar::all(Mean), Scalar::all(StdDev));

    mSrc.convertTo(mSrc_16SC, CV_16SC3);
    addWeighted(mSrc_16SC, 1.0, mGaussian_noise, 1.0, 0.0, mSrc_16SC);
    mSrc_16SC.convertTo(mDst, mSrc.type());

    return true;
}

double StdDev = 10.0 значение, как я понял, как раз и отвечает за уровень шума на выходном изображении. Но для эксперимента мне нужна количественная оценка шума, чтобы я мог устанавливать значения от 0 до 100%. Где проценты, это как раз проценты интенсивности шума.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

PSNR не то что Вы ищете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нет, мне нужно исходя из данной функции выбирать интенсивность

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Так получите желаемое с точностью до шага добавления шума.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×