Jump to content
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%. Где проценты, это как раз проценты интенсивности шума.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×