fastNlMeansDenoising() keine Geräusche herausfiltern

Ich versuche das Rauschen zu entfernen, die von opencv fastNlMeansDenoising () - Funktion.
Aber Meine Ausgabe Bild ist der gleiche wie original ruchbar Bild.

- Eingang Bild:

fastNlMeansDenoising() keine Geräusche herausfiltern

Code:

#include <iostream>

#include <opencv2/opencv.hpp>

#include <opencv2/highgui/highgui.hpp>

#include <opencv2/imgproc/imgproc.hpp>

using namespace std;

using namespace cv;


int main() {

    Mat img = imread("noisy.jpg");

    if (!img.data) {
        cout << "File not found" << endl;
        return -1;
    }

    //first copy the image
    Mat img_gray = img.clone();
    cvtColor(img, img_gray, CV_RGB2GRAY);

    Mat img1;
    //fastNlMeansDenoising(img_gray, img1, 3.0, 7, 21);
    cv::fastNlMeansDenoising(img_gray, img1, 3.0, 7, 21);

    imshow("img1", img1);

    waitKey();

    return 0;
}

Ausgabe Bild:

fastNlMeansDenoising() keine Geräusche herausfiltern

Ich kann hier kein Effekt der Glättung. Ich verstehe nicht, Grund es.
Bitte helfen Sie mir, nutzen diese Funktion zum entfernen von Rauschen. Dank

  • Nicht sicher, ob es möglicherweise im Zusammenhang mit Ihrem problem, aber Sie haben nicht zu tun img.clone(). cvtColor erstellen das Bild für Sie.
  • Ich habe korrigiert es. aber immer noch die Ausgabe Bild ist nicht De lärmend Bild.
InformationsquelleAutor Abc | 2016-06-20
Schreibe einen Kommentar