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

时间:2011-05-26 12:10:04

标签: opencv edge-detection

我遇到了 opencv的Sobel边缘检测器的问题。从它的文档来看,它似乎只适用于水平和垂直方向边缘(通过指定0,1或1,0)。 有没有人知道如何使用cvSobel获得对角线45deg和135deg 不是Canny方法)。 Matlab有一个灵魂与它的边缘(我,'sobel'...)选项,但我的代码都是用c ++编写的,我想保留它。

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

2 个答案:

答案 0 :(得分:5)

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

  1. resX =在X方向上计算结果
  2. resY = Y方向的Caluclate结果
  3. 选择所需的方向(角度α)
  4. 期望的结果是sqrt((Y * sin(alpha))^ 2 +(X * cos(alpha))^ 2)
  5. 这适用于边缘检测,运动模糊和任何线性定向滤镜。

答案 1 :(得分:0)

检测对角线。你只需运行两次。根据定义,水平和垂直的点都是对角线。