OpenCV中的sobel運算元邊緣檢測
阿新 • • 發佈:2021-02-16
OpenCV中的sobel運算元邊緣檢測
程式碼實現:
#邊緣檢測(影象梯度)
#一、Sobel運算元
img = cv2.imread('cat.jpg')
cv2.imshow('img',img)
#對x方向和y方向求梯度
#ksize預設為3,此時採用Scharr運算元,使得邊緣更突出
grad_x = cv2.Sobel(img,cv2.CV_32F,1,0,3,ksize=3)
grad_y = cv2.Sobel(img,cv2.CV_32F,0,1,3,ksize=3)
gradx = cv2.convertScaleAbs (grad_x)
grady = cv2.convertScaleAbs(grad_y)
#加權
sobel=cv2.addWeighted(gradx,0.5,grady,0.5,0)
cv2.imshow('sobel',sobel)
cv2.waitKey()
執行結果: