首页 文章

对角线的Opencv Sobel边缘检测(右上45度,上行135度)

提问于
浏览
4

我遇到问题 opencv's Sobel edge detector. 从它的文档中它似乎只适用于水平和垂直方向边缘(通过指定0,1或1,0) . Has anyone got idea how to get the diagonal edges 45deg and 135deg with cvSobel (不是Canny方法) . Matlab有一个灵魂与它的边缘(I,'sobel' ...)选项,但我的代码全部在c,我想保持它这样 .

感谢您的建议和解决方案 .

2 回答

  • 0

    喜 . 您通常可以通过以下方式计算任何方向的任何过滤器:

    • resX =在X方向上计算结果

    • resY = Y方向的Caluclate结果

    • 选择所需方向(角度α)

    • 期望的结果是sqrt((Y * sin(alpha))^ 2(X * cos(alpha))^ 2)

    这适用于边缘检测,运动模糊和任何 linear 定向滤波器 .

  • 5

    它确实检测到对角线 . 你只需运行两次 . 根据定义,水平和垂直的点是对角线 .

相关问题