sobel運算元是基於在邊緣部分,畫素值會出現較大的變化,因此在邊緣部分求取一階導數可以得到極值點,而在一階導數的極值位置,二階導數為0。所以也可以利用這個特點來作為檢測影象邊緣的方法,但是二階導數的0值不僅僅出現在邊緣,它們也可能出現在無意義的位置,但我們可以過濾掉這些點。因為影象是二維的,需要在兩個方向求導,opencv提供了laplacian函式來實現,使用laplacian運算元將會使求導過程變得簡單。
)函式只有在ksize>1時才能正常計算,當ksize==1時,laplacian將由下面的模板進行計算:
實際上,由於laplacian使用了影象梯度,它內部呼叫了sobel運算元。
#include
#include
using
namespace cv;
intmain
(int
,char
** ar**)
imshow
("input"
, src)
;//輸出影象
// 2. 先模糊,為了去雜訊。將cv :: gaussianblur應用於我們的影象以減少噪音(核心大小= 3)
gaussianblur
(src, gblur_src,
size(3
,3),
0,0, border_default)
;// 3. 將濾波後的影象轉換為灰度影象:
cvtcolor
(gblur_src, gray_src, color_rgb2gray)
;// 4.分別用 laplance 運算元進行影象邊緣化處理
laplacian
(gray_src, laplace_src, cv_16s,3)
;//引數意思與上述的 sobel scharr 函式一致
convertscaleabs
(laplace_src, laplace_src)
;imshow
("laplance demo"
, laplace_src)
;threshold
(laplace_src, dst,0,
255, thresh_otsu | thresh_binary)
;//二值化,邊緣顯示的更清晰
1 7opencv學習筆記形態學操作
一.形態學操作 1 開操作 open 先腐蝕後膨脹,可以去掉小的物件。2 閉操作 close 先腐蝕後膨脹,可以填充小的洞 fill hole 3 形態學梯度 morphological gradient 膨脹減去腐蝕,又稱為基本梯度 其它還包括 內部梯度 方向梯度 4 頂帽 top hat 頂帽 ...
OpenCV學習記錄17
一 學習內容 1 除錯sobel邊緣檢測 1.1 分別生成水平方向和豎直方向的梯度影象 1.2 合成總梯度影象 1.3 呼叫函式addweighted生成總梯度影象 備註 由於邊緣檢測運算元對雜訊敏感,因此在邊緣檢測之前必須用高斯模糊對影象降噪,然後轉換成灰度影象,再進行邊緣檢測。二 除錯 incl...
OpenCV17 畫素重對映
簡單點說就是把輸入影象中各個畫素按照一定的規則對映到另外一張影象的對應位置上去,形成一張新的影象。remap inputarray src,輸入影象 outputarray dst,輸出影象 inputarray map1,x 對映表 cv 32fc1 cv 32fc2 inputarray map...