图像梯度计算
- 水平方向梯度:
Gx(x,y)=H(x+1,y)−H(x−1,y)Gx(x,y)=H(x+1,y)−H(x−1,y)
- 垂直方向梯度:
Gy(x,y)=H(x,y+1)−H(x,y−1)Gy(x,y)=H(x,y+1)−H(x,y−1)
- 像素的梯度:
G(x,y)=Gx(x,y)2+Gy(x,y)2‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾√G(x,y)=Gx(x,y)2+Gy(x,y)2
- 梯度方向:
α(x,y)=tan−1Gy(x,y)Gx(x,y)α(x,y)=tan−1Gy(x,y)Gx(x,y)
伪代码实现:
hx = [-1,0,1]
hy = hx'
grad_x = filter(Img, hx)
grad_y = filter(Img, hy)
grad_xy = sqrt(grad_x.^2 + grad_y.^2)
theta = count_theta()