高斯平滑使用sigma和窗口大小.它会模糊图像以减少图像噪点.另一方面,均值滤波器也会模糊图像并消除噪点.结果的基本区别是什么?
opencv artificial-intelligence image-processing computer-vision
我正在尝试通过opencv fastNlMeansDenoising()函数消除噪声。但是我的输出图像与原始噪点图像相同。
输入图片:
码:
#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;
}
Run Code Online (Sandbox Code Playgroud)
输出图像:
我看不到任何平滑效果。我不明白原因。请帮助我使用此功能消除噪音。谢谢