差分形式為 ▽2
f(x,
y)=(
f(x+
1,y)
−f(x
,y))
−(f(
x,y)
−f(x
−1,y
))+(
f(x,
y+1)
−f(x
,y))
−(f(
x,y−
1)−f
(x,y
−1))
▽ 2f
(x,y
)=(f
(x+1
,y)−
f(x,
y))−
(f(x
,y)−
f(x−
1,y)
)+(f
(x,y
+1)−
f(x,
y))−
(f(x
,y−1
)−f(
x,y−
1))laplacian 可以檢測出邊緣,為了排查雜訊干擾,所有先對影象用高斯濾波器做低通濾波。高斯濾波和laplacian運算元連起來就是log.
至於為什麼laplacian可以檢測出邊界,參考一下部落格
opencv函式 laplacian 運算元實現
laplace log dog邊緣檢測 d
og=g
(x,y
,σ1)
−g(x
,y,σ
2)d og
=g(x
,y,σ
1)−g
(x,y
,σ2)
dog就是對影象進行兩次不同的高斯變換,然後對應的畫素相減。dog運算元和log運算元的效果類似,但是計算複雜量低很多。
為什麼dog可以達到log的效果,參考一下部落格
laplace log dog邊緣檢測
dog和log運算元
#include
using
namespace
std;
using
namespace cv;
void gausssianfilter(mat srcimg, mat dstimg, double sigma1, double sigma2=-1)
if (sigma2 < 0)
int radius1 = (int)(3 * sigma1 + 0.5f);
int radius2 = (int)(3 * sigma2 + 0.5f);
mat kernel(2 * radius1 + 1, 2 * radius2 + 1, cv_32f);
float fsum = 0;
for (int y = -radius1; y <= radius1; y++)//計算高斯卷積模板
}for (int y = -radius1; y <= radius1; y++)
}//用高斯模板與原影象做卷積
log和dog 邊緣檢測
擴充套件延伸參考
斑點檢測(log,dog)
計算機視覺之一:特徵檢測
Canny邊緣檢測
1.canny邊緣檢測基本原理 1 圖象邊緣檢測必須滿足兩個條件 一能有效地抑制雜訊 二必須盡量精確確定邊緣的位置。2 根據對訊雜比與定位乘積進行測度,得到最優化逼近運算元。這就是canny邊緣檢測運算元。3 類似與marr log 邊緣檢測方法,也屬於先平滑後求導數的方法。2.canny邊緣檢測演...
Canny邊緣檢測
canny運算元是邊緣檢測運算元中最常用的一種,是公認效能優良的一種運算元,常被其它邊緣檢測運算元作為標準運算元進行優劣分析。canny演算法基本可以分為3個步驟 平滑 梯度計算 基於梯度值及梯度方向的候選點過濾 1 平滑 影象梯度的計算對雜訊很敏感,因此必須首先對其進行低通濾波。在這裡使用5 5的...
Sobel 邊緣檢測
sobel邊緣檢測演算法 索貝爾運算元 sobel operator 主要用作邊緣檢測,在技術上,它是一離散性差分運算元,用來運算影象亮度函式的灰度之近似值。在影象的任何一點使用此運算元,將會產生對應的灰度向量或是其法向量 sobel 卷積因子為 該運算元包含兩組 3x3的矩陣,分別為橫向及縱向,將...