1.高斯算子
根據(jù)像素點的距離然后加權(quán)平均利用高斯函數(shù)符糊。
高斯函數(shù)的提點就是距離原點越近得到的權(quán)重越高距離原點越遠得到的權(quán)重就越小负饲。得到高斯矩陣后還需要把各個權(quán)重加起來的和為1院促。
高斯濾波的好處是可以消除高斯噪聲(它的概率密度函數(shù)服從高斯分布(即正態(tài)分布)的一類噪聲)。
2.Sobel算子
對于f(t),其導數(shù)f'(t)反映了每一處的變化趨勢.在變化最快的位置其導數(shù)最大. sobel算子的思路就是模擬求一階導數(shù).
sobel算子是一個離散差分算子.它計算圖像像素點亮度值的近似梯度.
圖像是二維的,即沿著寬度/高度兩個方向.
我們使用兩個卷積核對原圖像進行處理:
很好理解,原始像素灰度值-->(右邊像素值-左邊像素值),反映了水平方向的變化情況.
3.Laplace算子
首先际长,拉普拉斯算子是最簡單的各向同性微分算子馍迄,它具有旋轉(zhuǎn)不變性。一個二維圖像函數(shù)的拉普拉斯變換是各向同性的二階導數(shù)麦备,定義為:
圖1(a)表示離散拉普拉斯算子的模板尊惰,圖1(b)表示其擴展模板讲竿,圖1(c)則分別表示其他兩種拉普拉斯的實現(xiàn)模板。從模板形式容易看出弄屡,如果在圖像中一個較暗的區(qū)域中出現(xiàn)了一個亮點题禀,那么用拉普拉斯運算就會使這個亮點變得更亮。因為圖像中的邊緣就是那些灰度發(fā)生跳變的區(qū)域膀捷,所以拉普拉斯銳化模板在邊緣檢測中很有用迈嘹。一般增強技術(shù)對于陡峭的邊緣和緩慢變化的邊緣很難確定其邊緣線的位置。但此算子卻可用二次微分正峰和負峰之間的過零點來確定全庸,對孤立點或端點更為敏感秀仲,因此特別適用于以突出圖像中的孤立點、孤立線或線端點為目的的場合壶笼。同梯度算子一樣神僵,拉普拉斯算子也會增強圖像中的噪聲,有時用拉普拉斯算子進行邊緣檢測時覆劈,可將圖像先進行平滑處理保礼。
圖像銳化處理的作用是使灰度反差增強,從而使模糊圖像變得更加清晰责语。
這種簡單的銳化方法既可以產(chǎn)生拉普拉斯銳化處理的效果炮障,同時又能保留背景信息,將原始圖像疊加到拉普拉斯變換的處理結(jié)果中去坤候,可以使圖像中的各灰度值得到保留胁赢,使灰度突變處的對比度得到增強,最終結(jié)果是在保留圖像背景的前提下白筹,突現(xiàn)出圖像中小的細節(jié)信息智末。
C++實現(xiàn)
#include "cv.hpp"
#include "highgui.hpp"
using namespace cv;
int main(int argc, char* argv[])
{
? ? Mat src = imread("1.jpg");
? ? Mat dst;
? ? imshow("src", src);
? ? Laplacian(src, dst, src.depth());
? ? Sobel(src, dst, src.depth());
? ? //imwrite("laplacian.jpg", dst);
? ? imshow("dst", dst);
? ? imshow("dst1", dst);
? ? waitKey();
? ? return 0;
}