请问OPENCV的函数cvCanny边缘检测可以只检测水平方向或垂直方向吗 ??? 像cvSobel一样只检测一个方向.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问OPENCV的函数cvCanny边缘检测可以只检测水平方向或垂直方向吗 ??? 像cvSobel一样只检测一个方向.相关的知识,希望对你有一定的参考价值。

请问OPENCV的函数cvCanny边缘检测可以只检测水平方向或垂直方向吗 ??? 像cvSobel一样只检测一个方向.

参考技术A canny是各个方向都有的,你可以自己测试一下,我看我的结果都是八方向的。
Sobel只能检测一个方向是,kernel限制,你也可以直接编写,两个kernel混合的模版来卷积。
结果就是各个方向的啦~
其实,canny也是基于sobel的,只不过他有一个细化体系,能用强边缘和弱边缘来规范。
具体的你看三十分钟维基百科就知道啦~追问

谢谢你!

追答

还追问嘛,采纳了呗

参考技术B 可以通过修改cvCanny源程序 , 将其中的水平和竖直两个方向的Sobel算子,改成一个方向的.
相当于只检测一个方向的边缘.追问

我会尝试的,谢谢。

本回答被提问者采纳
参考技术C 你看函数的参数列表,里面并没有选择方向的参数!追问

没有,呵呵,和cvSobel不一样。。

以上是关于请问OPENCV的函数cvCanny边缘检测可以只检测水平方向或垂直方向吗 ??? 像cvSobel一样只检测一个方向.的主要内容,如果未能解决你的问题,请参考以下文章

Canny边缘检测

如何利用opencv实现彩色图像边缘检测算法

cvCanny 在 opencv 2.3 中不起作用

图像处理为动画效果代码修改与测试

1OpenCV图像的边缘检测

opencv边缘检测 不闭合