openCV平滑函數—-cvSmooth

來源:互聯網
上載者:User

openCV平滑函數

[cpp] view
plaincopyprint?

  1. void cvSmooth(  
  2.     const CvArr* src,  
  3.     CvArr* dst,  
  4.     int smooth = CV_GAUSSIAN,  
  5.     int param1 = 3,  
  6.     int param2 = 0,  
  7.     int param3 = 0,  
  8.     int param4 = 0  
  9. );  

 

註解:

(1)可能大家啊對CvArr的理解不是很深刻,可以將其看做C++中的基類,當然也包括IplImage

(2)smooth支援的類型:

       CV_BLUR 簡單模糊 對每個像素param1,param2求和,並縮放1/(param1*param2),亦即求簡單平均值

       CV_BLUR_NO_SCALE 簡單無縮放變化的模糊 對每個像素param1,param2求和 特別說明的是輸入映像和結果映像必須有不同的數值精度,以保證不會發生溢出,如果源映像是8u,則結果映像必須是16s或者32s。

       CV_MEDIAN 中值模糊 取中心像素的正方形領域類的每個像素的值用中間值代替

       CV_GAUSSIAN 高斯模糊 param3為零時,高斯卷積核sigma通過以下公式計算

           sigma(x) = (n(x)/2-1)*0.30+0.80,n(x)= param1

           sigma(y) = (n(y)/2-1)*0.30+0.80,n(y)= param2

          如果第四個參數指定,則第三個和第四個參數分別表示sigma的水平方向和垂直方向的值

          如果第三個,第四個參數已經指定,而前兩個參數為0,那麼視窗的尺寸由sigma確定速度較慢但最有效

       CV_BILATERAL 雙向濾波 因為高斯模糊是在映像在空間內的像素是緩慢變化的,但隨機的兩個點可能形成很大的

像素差,高斯濾波在保留訊號的條件下減少雜訊,但在接近邊緣的地方無效,雙向濾波可以解決這個問題,但需要更多的時間代價,

其需要兩個參數,param1表示空域中所使用的高斯核的寬度,param2表示色域圖高斯核的高度。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.