计算机视觉系列(二):图像梯度

图像梯度的概念

图像梯度是指图像某像素在x和y两个方向上的变化率(与相邻像素比较),是一个二维向量,由2个分量组成X轴的变化、Y轴的变化。其中:

  • X轴的变化是指当前像素右侧(X加1)的像素值减去当前像素左侧(X减1)的像素值;
  • Y轴的变化是当前像素下方(Y加1)的像素值减去当前像素上方(Y减1)的像素值; 计算出来这两个分量,会形成一个二维向量,该向量描述了当前像素点的梯度。对这个向量取反正切函数 arctan ,可以得到梯度的角度。

图像梯度的求解

图像梯度的求解过程可以用一个卷积核来实现:[-1,0,1]。

\(\nabla{f(x,y)}=\) \(\left [ \begin{matrix} g_x\\g_y \end{matrix} \right]=\) \(\left [ \begin{matrix} \frac{\partial f}{\partial x}\\ \frac{\partial f}{\partial y} \end{matrix} \right]=\) \(\left [ \begin{matrix} f(x+1,y)-f(x-1,y)\\f(x,y+1)-f(x,y-1) \end{matrix} \right]\)

gradient

\(\nabla{f(x,y)}=\) \(\left [ \begin{matrix} f(x+1,y)-f(x-1,y)\\f(x,y+1)-f(x,y-1) \end{matrix} \right]=\) \(\left [ \begin{matrix} 55-105\\90-40 \end{matrix} \right]=\) \(\left [ \begin{matrix} -50\\ 50 \end{matrix} \right]\)

图像梯度的绝对值为:

\(\sqrt{50^2+(-50)^2}=70.7107\)

图像梯度的角度为:

\(\arctan(-50/50)=-45^\circ\)