2016-05-14 126 views
0

這是什麼聲音? 鏈接: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

這不是噪音。更像是輟學,也是因爲他們持續很長時間的壞事。只有你有一箇中值濾鏡,只使用垂直像素。 –

回答

0

我寫這些代碼:

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(爲測試)。 它是方向中值濾波器嗎?

0
  • 試試下面的代碼去除噪聲,

    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

我發現你的帖子有用,然後接受它。 :) –