计算图像的梯度是在进行图像处理时经常用到的方法,但是这玩意自己手写未免效率低而且容易出错。OpenCV里集成了相应的函数,只不过用的人好像并不多导致我找了半天才找到。姑且记一下以备日后使用。...=cv2.Sobel(im,cv2.CV_64F,0,1,ksize=3)#0,1表示只在y方向求一阶导数
mag=cv2.magnitude(x,y)
这里传入两个参数,分别是x和y方向的梯度,这里我用的是...Sobel算子分别求x和y方向的梯度,卷积核的大小我设置的是3。...通常情况下我们会加上下面的函数来得到梯度的绝对值:
sobelx=cv2.convertScaleAbs(cv2.Sobel(im,cv2.CV_64F,1,0,ksize=3))
在外面套一个取绝对值的函数...,cv2.CV_64F,0,1,ksize=3),angleInDegrees=True)
Sobel的用法跟上面一样,最后一个参数为True表示结果用角度制表示,否则用弧度制。