cv2.sobel(src,ddepth,dx,dy,ksize=)
src:影象
ddepth:影象深度(cv_64f表示雙精度浮點型)
dx,dy水平和數值方向
ksize:sobel運算元,取值3~31的奇數。因為運算元矩陣一定要存在中心點。
import cv2 as cv
defshowimg
(img,name)
: cv.namedwindow(name,0)
;#可調大小
#sobel運算元
sobelx=cv.sobel(img,cv.cv_64f,1,
0,ksize=17)
sobely=cv.sobel(img,cv.cv_64f,0,
1,ksize=17)
#分開計算結果更加清晰
sobelxy=cv.addweighted(sobelx,
0.5,sobely,
0.5,0)
#梯度絕對值轉換
sobelx=cv.convertscaleabs(sobelx)
sobely=cv.convertscaleabs(sobely)
sobelxy=cv.convertscaleabs(sobelxy)
showimg(sobelx,
'sobelx'
)showimg(sobely,
'sobely'
)showimg(sobelxy,
'sobelxy'
)cv.waitkey(
)cv.destroyallwindows(
)
cv2.scharr(src,ddepth,dx,dy)src:影象
ddepth:影象深度
dx,dy水平和數值方向
import cv2 as cv
defshowimg
(img,name)
: cv.namedwindow(name,0)
;#可調大小
#scharr運算元
scharrx=cv.scharr(img,cv.cv_64f,1,
0)scharry=cv.scharr(img,cv.cv_64f,0,
1)#分開計算結果更加清晰
scharrxy=cv.addweighted(scharrx,
0.5,scharry,
0.5,0)
#梯度絕對值轉換
scharrx=cv.convertscaleabs(scharrx)
scharry=cv.convertscaleabs(scharry)
scharrxy=cv.convertscaleabs(scharrxy)
showimg(scharrx,
'scharrx'
)showimg(scharry,
'scharry'
)showimg(scharrxy,
'scharrxy'
)cv.waitkey(
)cv.destroyallwindows(
)
import cv2 as cv
defshowimg
(img,name)
: cv.namedwindow(name,0)
;#可調大小
laplacian=cv.laplacian(img,cv.cv_64f)
laplacian=cv.convertscaleabs(laplacian)
showimg(laplacian,
'laplacian'
)cv.waitkey(
)cv.destroyallwindows(
)
1)使用高斯濾波器,平滑影象,濾除雜訊
2)計算影象中每個畫素點的梯度和方向
3)應用非極大值抑制,消除邊緣檢測帶來的雜質雜訊
4)應用雙閾值檢測,確定真實檢的和潛在的邊緣
5)通過抑制孤立的弱邊緣最終完成邊緣檢測
cv.canny(img,min,max,aperturesize=3)
min:最小值
max:最大值
aperturesize:核心大小3~7奇數
影象灰度梯度 高於maxval被認為是真正的邊界,低於minval的捨棄。兩者之間的值要判斷是否與真正的邊界相連,相連就保留,不相連捨棄。(此段以及以下摘自大佬的python opencv入門 canny邊緣檢測(15));#可調大小
OpenCV學習筆記 6 邊緣檢測筆記
void roberts inputarray src,outputarray dst,int ddepth,int x 1,int y 0,int bordertype border default void conv2d inputarray src,inputarray kernel,outp...
opencv學習筆記2 邊緣檢測
總結 roberts運算元檢測方法對具有陡峭的低雜訊的影象處理效果較好,但是利用 roberts 運算元提取邊緣的結果是邊緣比較粗,因此邊緣的定位不是很準確。sobel運算元檢測方法對灰度漸變和雜訊較多的影象處理效果較好,sobel 運算元對邊緣定位不是很準確,影象的邊緣不止乙個畫素。prewitt...
深度學習筆記(21) 邊緣檢測
在計算機視覺中使用的比較多的就是卷積神經網路 卷積運算是卷積神經網路最基本的組成部分 邊緣檢測相對比較容易理解,就把它作為卷積運算的入門樣例 在人臉識別中 神經網路的前幾層有可能是檢測邊緣的 後面的層有可能檢測到物體的部分區域 更靠後的一些層可能檢測到完整的物體 這個例子中就是人臉 給了上面這樣一張...