歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> OpenCV實現圖像鄰域均值濾波、中值濾波、高斯濾波

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

日期:2017/3/1 10:26:36   编辑:Linux編程
  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. Invalidate();
  9. }

  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. Invalidate();
  9. }

  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