Olezha 0 Жалоба Опубликовано December 20, 2016 Здравствуйте! Я наклажываю шум на изображение с помощью следующей функции: 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%. Где проценты, это как раз проценты интенсивности шума. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано December 20, 2016 PSNR не то что Вы ищете? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Olezha 0 Жалоба Опубликовано December 20, 2016 Нет, мне нужно исходя из данной функции выбирать интенсивность Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано December 20, 2016 Ну так добавляете немного шума, измеряете, если меньше чем надо добавляете еще. Так получите желаемое с точностью до шага добавления шума. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах