如何在C ++中使用fastNlMeansDenoisingColored()?

时间:2016-11-19 23:45:58

标签: c++ visual-studio opencv

我是学习OpenCV的新手。当我在寻找去除噪音的好算法时,我找到了这个函数,但是我不知道如何使用它,那么这个函数在OpenCV库中是否可用?如果是,我该如何使用它。

1 个答案:

答案 0 :(得分:0)

void fastNlMeansDenoisingColored(InputArray src, OutputArray dst, float h=3, float hColor=3, int templateWindowSize=7, int searchWindowSize=21 )

这来自opencv文档。因此,请尝试使用该功能。

我在网上找到的一小段代码可能会为您提供帮助:

#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("a.jpg");
    if (!img.data) {
        cout << "No image found" << endl;
        return -1;
    }
    // first copy the image
    Mat img_gray = img.clone();
    cvtColor(img, img_gray, CV_RGB2GRAY);
    Mat img1;
    cv::fastNlMeansDenoising(img_gray, img1, 3.0, 7, 21);
    imshow("img1", img1);
    waitKey();
    return 0;
}

希望有帮助!