Opencv对角线的Sobel边缘检测右45度,左135度

问题描述

| 我在opencv的Sobel边缘检测器上遇到问题。从其文档中看来,它仅适用于水平和垂直方向的边缘(通过指定0,1或1,0)。有谁知道如何使用cvSobel(不是Canny方法)获得对角线45deg和135deg。 Matlab的edge(I,\'sobel \'...)选项令人不快,但我的代码全部使用c ++,我希望保持不变。 感谢您的建议和解决方案。     

解决方法

喂 通常,您可以按以下方式在任何方向上计算任何过滤器: resX =计算X方向的结果 resY = Y方向的钙化结果 选择所需的方向(角度Alpha) 所需的结果是sqrt((Y *sinα)^ 2 +(X *cosα)^ 2) 这适用于边缘检测,运动模糊和任何线性有向滤镜。     ,它确实检测对角线。您只需运行两次。根据定义,水平和垂直点都是对角线。