濾波就是把影象中的干擾給去除掉,常用的濾波方法有線性濾波,均值濾波,拉普拉斯銳化等方法。並且每一種方法都有不同的濾波模板。
一、均值濾波:用模板掃瞄影象中的畫素點,把掃瞄的點求平均值,用這個平均值代替掃瞄中點。
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...