濾波(opencv自寫函式)

2021-07-11 10:33:17 字數 1205 閱讀 999

濾波就是把影象中的干擾給去除掉,常用的濾波方法有線性濾波,均值濾波,拉普拉斯銳化等方法。並且每一種方法都有不同的濾波模板。

一、均值濾波:用模板掃瞄影象中的畫素點,把掃瞄的點求平均值,用這個平均值代替掃瞄中點。

void medianfiltering(iplimage* img, iplimage* &dst);

double arr[10] = ;

int p = 0;

int i, j, k;

int h, w;

for (i = 1; i height - 1; i++)

sort(arr, arr + p);

dst->imagedata[i*dst->widthstep + j] = (uchar)arr[4];}}

}

二、線性濾波:同樣用乙個模板來掃面影象的畫素點,將掃瞄的畫素點進行排序,用排序之後的中間的數代替掃瞄中點。

void c空間濾波::linearfiltering(iplimage* img, iplimage* &dst);

double arr;

int i, j, k;

int h, w;

for (i = 1; i height - 1; i++)

dst->imagedata[i*dst->widthstep + j] = (uchar)(arr / 9.0); //要用uchar型別轉換}}

}

主函式呼叫:

int main()
對於邊緣畫素點的處理:

1)、當超過邊緣的時候,這個點的畫素就等於靠他最近點的畫素;

2)、在遍歷影象的畫素點的時候就直接把邊緣的畫素點排除出去。我就用的這種方法:直接把影象的四個邊緣剔除掉。

原圖:

影象處理後效果:

1)中值濾波3*3模板

2)均值濾波(這個3*3對比不明顯,所以把55*5的效果圖也貼了出來)

OpenCV 濾波相關函式

在攝像頭採集影象的過程中,由於環境因素或者攝像頭的自身原因,會產生本身不需要的雜訊,opencv中有幾種方式用於濾波,處理部分影象雜訊。濾波的作用 增強或去除某一部分有用的線條 輪廓等特徵,便於後期對這一特徵的提取。線性濾波,取當前畫素點的鄰域幾個畫素點的平均值賦值給當前畫素點。缺點 不針對某些特定...

OpenCV 高斯濾波

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

opencv簡單濾波

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