在进行图像处理中,经常会计算图像的梯度、梯度幅值以及梯度等,对于不太了解opencv的,可能会自己写计算梯度、梯度幅值和梯度方向的函数,其实这些工作OpenCV都已经为我们做了。下面来看看Opencv中的相关函数:
1)计算梯度幅值函数magnitude
该函数根据输入的微分处理后的x和y来计算梯度幅值,x和y可以通过sobel, scharr等边缘算子求得,而且可以直接输入三通道图像。
2)计算梯度幅值和梯度方向函数cartToPolar
该函数的输入与magnitude函数相似,参数可以参考函数说明,其中梯度方向的值可以为弧度也可以为角度,通过angleInDegree来设置。
3)计算梯度方向函数phase
该函数参数与上面相同,计算得到梯度方向。
4)根据梯度和梯度方向反求微分图像函数polarToCart
该函数根据输入的梯度幅值和梯度方向反过来求x,y。