识别噪音类型

问题描述:

这是什么声音? 链接:Image 如何删除它?我应用中值和fastNIMeansDenoisingColored()函数,但没有任何改进。识别噪音类型

样品PROGRAMM:

#include <opencv2/core/core.hpp> 
#include <opencv2/highgui/highgui.hpp> 
#include <opencv2/imgproc/imgproc.hpp> 
#include <opencv2/opencv.hpp> 
#include <iostream> 

using namespace std; 
using namespace cv; 


int main() 
{ 

Mat img,gray,DENO, im_gray, img_bw, img_final; 

img = imread("C:/Users/Opencv/Downloads/1.bmp",1); 

cvtColor(img,im_gray,CV_RGB2GRAY); 

adaptiveThreshold(im_gray, img_bw, 255, ADAPTIVE_THRESH_MEAN_C,  THRESH_BINARY_INV, 105, 1); 


dilate(img_bw, img_final, Mat(), Point(-1, -1), 2, 1, 1); 

imshow("afa",img_final); 
waitkay(0); 
return 0; 
} 

的Visual Studio 2012,C++,OpenCV的3.0.0 问候

+1

这不是噪音。更像是辍学,也是因为他们持续很长时间的坏事。只有你有一个中值滤镜,只使用垂直像素。 –

我写这些代码:

ressu3 = zeros(m,n); 
for i=2:m-1 
for j=2:n-1 
ressu3(i,j)=1/55* median ([I(i-1,j-1),I(i-1,j+1),I(i-1,j),I(i+1,j- 1),I(i+1,j+1),I(i+1,j)]); 
end 
end 

的代码在MATLAB是writen(为测试)。 它是方向中值滤波器吗?

  • 试试下面的代码去除噪声,

    cv::Mat mainMat1 = cv::imread("input_image_path"); 
    cv::Mat dstMat1, medianMat1, finalDest1; 
    bilateralFilter(mainMat1, dstMat1, 19, 19 * 2, 19/2); 
    addWeighted(mainMat1, 0.40, dstMat1, 0.60, 0, finalDest1, -1); 
    medianBlur(mainMat1, medianMat1, 17); 
    
    cv::Mat dstination1; 
    cv::fastNlMeansDenoisingColored(mainMat1,dstination1,10,10,7,21); 
    
  • 希望这会有所帮助。

+0

谢谢。您的代码将去除背景斑点噪声,并保留方向性噪声。问候 –

+0

@opencvtrain:如果这段代码可以帮助你,然后接受这个答案。 – Sagar

+0

我发现你的帖子有用,然后接受它。 :) –