边缘是像素值发生跃迁的位置,是图像的显著特征之一,在图像特征提取,对象检测,模式识别等方面都有重要的作用。
sobel算子对图像求一阶导数。一阶导数越大,说明像素在该方向的变化越大,边缘信号越强。
因为图像的灰度值都是离散的数字, sobel算子采用离散差分算子计算图像像素点亮度值的近似梯度.


soble x轴和y轴要分别计算,计算完用add添加在一起
cv2.soble(image,desize,dx,dy)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
""" @Project :Opencv学习 @File :sobel算子.py @IDE :PyCharm @Author :咋 @Date :2023/1/13 20:54 """ import cv2 import numpy as np image = cv2.imread("Handsome.jpg") image = cv2.resize(image,(640,480))
dx = cv2.Sobel(image,-1,1,0,ksize = 5)
dy = cv2.Sobel(image,-1,0,1,ksize = 5)
sobel_img = cv2.add(dx,dy)
cv2.imshow("sobel_img",np.hstack((image,sobel_img))) cv2.waitKey(0) cv2.destroyAllWindows()
|
