Ask Your Question

Titas93's profile - activity

2017-09-25 04:18:52 -0600 received badge  Notable Question (source)
2015-12-16 22:35:57 -0600 received badge  Popular Question (source)
2014-09-22 07:29:09 -0600 received badge  Student (source)
2014-01-24 00:10:49 -0600 received badge  Editor (source)
2014-01-24 00:08:11 -0600 asked a question Adding Gaussian Noise in OpenCV Mat Image

Hi Everyone! I have been trying to add Additive White Gaussian Noise in my Mat image(Using Qt 5.2.0) using the following piece of code, but i am getting the original image only. No noise is being added! Please can anyone help me by telling where I am going wrong!

    cv::Mat gaussianD;
    cv::Mat gaussian = grImage.clone();
    gaussian.convertTo(gaussianD, CV_32F);
    cv::Mat mult = cv::Mat::zeros(grImage.rows, grImage.cols, CV_32F);
    cv::randn(mult, 0, ui->doubleSpinBox_sDev->value());
    gaussianD = gaussianD + sqrt(ui->doubleSpinBox_sDev->value())*mult;
    gaussianD.convertTo(gaussianD, CV_8U);
    cv::namedWindow("Gaussian Noise");
    cv::imshow("Gaussian Noise", gaussianD);
    cv::imwrite("gaussian.jpg", gaussianD);
    gauss.load("gaussian.jpg");
    ui->label_NoiseImg->setPixmap(QPixmap::fromImage(gauss.scaled(ui->label_NoiseImg->size(), Qt::KeepAspectRatio)));

Here grImage is my original grayscale image, double spinbox s_Dev gives the value of the variance defined by the user, and mult is the array of gaussian random nos.