OpenCV 濾波相關函式

2021-10-08 17:09:22 字數 1944 閱讀 9826

在攝像頭採集影象的過程中,由於環境因素或者攝像頭的自身原因,會產生本身不需要的雜訊,opencv中有幾種方式用於濾波,處理部分影象雜訊。

濾波的作用:增強或去除某一部分有用的線條、輪廓等特徵,便於後期對這一特徵的提取。

線性濾波,取當前畫素點的鄰域幾個畫素點的平均值賦值給當前畫素點。

缺點:不針對某些特定點、線,在去雜訊的過程中,也會造成影象模糊。

void

blur

( inputarray src, outputarray dst,

size ksize, point anchor =

point(-

1,-1

),int bordertype = border_default )

;

第乙個引數:輸入的影象,mat型別的物件;

第二個引數:輸出的影象;

第三個引數:鄰域求平均值的範圍大小(核);

第四個引數:核錨點(取平均值被賦值的點),有預設值point(-1,-1),錨點是最中心那個點;

第五個引數:一般不管。

去除高斯雜訊(概率密度函式服從正態分佈),影象中的雜訊大部分為高斯雜訊。適用於大部分影象處理的情況。

高斯濾波也是求取平均值的過程,只是每個值有其權重。

void

gaussianblur

( inputarray src, outputarray dst, size ksize,

double sigmax,

double sigmay =0,

int bordertype = border_default )

;

第乙個引數:輸入的影象,mat型別的物件;

第二個引數:輸出的影象;

第三個引數:鄰域求平均值的範圍大小(核);

第四個引數:x方向上的標準差;

第五個引數:y方向上的標準差,當x、y方向上的標準差都為0,由核的高度和寬度自動確定;

第六個引數:取邊緣的型別,一般不管。

有效去除去除椒鹽狀的雜訊。

void

medianblur

( inputarray src, outputarray dst,

int ksize )

第乙個引數:輸入的影象,mat型別的物件;

第二個引數:輸出的影象;

第三個引數:正方形區域的邊長;

雙邊濾波在某個差距範圍中才進行濾波,超出範圍的不濾波。保留影象的邊緣特徵,對於提取影象邊緣很有效。

void

bilateralfilter

( inputarray src, outputarray dst,

int d,

double sigmacolor,

double sigmaspace,

int bordertype = border_default )

;

第乙個引數:輸入的影象,mat型別的物件;

第二個引數:輸出的影象;

第三個引數:表示在過濾過程中每個畫素鄰域的直徑。如果這個值我們設其為非正數,那麼opencv會從第五個引數sigmaspace來計算出它來,在使用過程中我發現有點像模糊力度的意思;

第四個引數:顏色空間濾波器的sigma值。這個引數的值越大,就表明該畫素鄰域內有更寬廣的顏色會被混合到一起,產生較大的半相等顏色區域。在使用過程中我發現有點像模糊範圍的意思,範圍越大看著越模糊;

第五個引數:座標空間中濾波器的sigma值,座標空間的標註方差。他的數值越大,意味著越遠的畫素會相互影響,從而使更大的區域足夠相似的顏色獲取相同的顏色。當d>0,d指定了鄰域大小且與sigmaspace無關。否則,d正比於sigmaspace。使用過程中我發現這個值越大,影象的過渡效果越好;

第六個引數:一般不管。

濾波(opencv自寫函式)

濾波就是把影象中的干擾給去除掉,常用的濾波方法有線性濾波,均值濾波,拉普拉斯銳化等方法。並且每一種方法都有不同的濾波模板。一 均值濾波 用模板掃瞄影象中的畫素點,把掃瞄的點求平均值,用這個平均值代替掃瞄中點。void medianfiltering iplimage img,iplimage dst...

OpenCV 高斯濾波

一 前言 關於高斯濾波在我的前一篇文章 數字影象基本處理演算法 中有所談及那篇只是介紹了高斯濾波的應用,現在這一篇將著重簡介高斯濾波的原理和應用,一探個究竟!二 啥是高斯濾波?好吃麼?高斯濾波,說白了就是乙個函式來對輸入的訊號 其實這裡的訊號就是影象的畫素值 進行計算然後得出結果作為該訊號的值,只不...

opencv簡單濾波

歸一化塊濾波器 opencv函式 blur 執行了歸一化塊平滑操作。for inti 1 i max kernel length i i 2 我們輸入4個實參 詳細的解釋請參考 reference 高斯濾波器 opencv函式 gaussianblur 執行高斯平滑 for inti 1 i max...