我正在阅读一些关于图像方向估计的文章,它说我必须计算一个块w x w的梯度大小。等式是这样的:
(1)
Vx(i,j) = Σ[u = i-w/2... i+w/2] Σ[v = i-w/2... i+w/2] 2dx(u,v)dy(u,v)
(2)
Vy(i,j) = Σ[u = i-w/2... i+w/2] Σ[v = i-w/2... i+w/2] d^2x(u,v)d^2y(u,v)
我试图找到计算像素渐变的方法(dx,dy)并找到一个:
(3)
dx = 1/2 * ( I(x+1, y) - I(x-1, y) )
(4)
dy = 1/2 * ( I(x, y+1) - I(x, y-1) )
我的问题是(1),(2),(3),(4)是否正确(或者你能推荐正确的公式)?它们是我关于图像方向估计的文章推荐的方法吗?我看过这个Image Processing - Computing gradients at each pixel?。我只看到Sobel是3x3矩阵,如果我使用带有w的块,那该怎么办? 3或如何使用掩模3x3到16x16像素块。我只需要一个精确的方程式来实现文章方法,所以阅读一本关于图像处理的书是我的最后选择,特别是因为我必须从头到尾阅读(我买了一个并且浏览内容表没有帮助 - 我无法理解标题所说的内容,现在正在阅读第01章-_-) 感谢您阅读此问题。
答案 0 :(得分:1)
我找到了正确的方程式。请注意,(2)还有1个减号
(1)
Vx(i,j) = Σ[u = i-w/2... i+w/2] Σ[v = i-w/2... i+w/2] 2dx(u,v)dy(u,v)
(2)
Vy(i,j) = Σ[u = i-w/2... i+w/2] Σ[v = i-w/2... i+w/2] d^2x(u,v) - d^2y(u,v)
(3),(4)有点正确,因为它也是matlab中计算梯度的一个选项,但Sobel算子是首选。