如何找到与任何像素的切线



我想在图像中的每个像素上找到切线。注意:图像具有白色背景和形状边框颜色是块。

我所做的是,算法

While(true)
     take pixel 
     if pixel color is black 
           make 3 X 3 matrix => fill the matrix by surrounding pixel color
            ...means assume white =0 and black=1 then keeping selected pixel 
           at center for 3 X 3 matrix and finding all other value;
           ----------------------------here i want to find tangent line to selected pixel;
     end if
     Move to next pixel.
End  while 

请在头上帮助考试。

您要寻找的可能是索贝尔操作员。它被用作矩阵围绕像素的社区的卷积实现:

-1 0 1
-2 0 2
-1 0 1

再次使用:

-1 -2 -1
 0  0  0
 1  2  1

分别调用2个卷积X和Y的结果。一旦拥有它们,就可以通过取平方和的平方根来获得梯度的大小:

mag = sqrt(x * x + y * y);

和梯度的方向(应与您正在检查的像素相切),通过将y的anctangent乘以x:

tangent = atan2(y / x)

相关内容

  • 没有找到相关文章

最新更新