歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

OpenCV實現圖像鄰域均值濾波、中值濾波、高斯濾波

  1. void CCVMFCView::OnBlurSmooth()//鄰域均值濾波   
  2. {  
  3.     IplImage* in;  
  4.     in = workImg;  
  5.     IplImage* out = cvCreateImage(cvGetSize(in),IPL_DEPTH_8U,workImg->nChannels);   
  6.     cvSmooth(in,out,CV_BLUR,3,workImg->nChannels);  //  簡單平均   
  7.     m_dibFlag=imageReplace(out,&workImg);   
  8.   
  9.     Invalidate();  
  10. }  

 
  1. void CCVMFCView::OnMedianSmooth()  
  2. {  
  3.     IplImage* in = workImg;  
  4.     IplImage* out = cvCreateImage(cvGetSize(in),  
  5.         IPL_DEPTH_8U,workImg->nChannels);   
  6.     cvSmooth(in,out,CV_MEDIAN,3,workImg->nChannels);  //  中值濾波   
  7.     m_dibFlag=imageReplace(out,&workImg);  
  8.   
  9.     Invalidate();  
  10. }  

 
  1. void CCVMFCView::OnGaussSmooth()  
  2. {  
  3.     IplImage* in = workImg;  
  4.     IplImage* out = cvCreateImage(cvGetSize(in),IPL_DEPTH_8U,workImg->nChannels);   //  建立輔助位圖   
  5.     cvSmooth(in,out,CV_GAUSSIAN,3,workImg->nChannels);  //  Gauss 平滑   
  6.     m_dibFlag=imageReplace(out,&workImg);   //  輸出處理結果   
  7.     Invalidate();  
  8. }  
Copyright © Linux教程網 All Rights Reserved