在OpenCV中用canny算子进行边缘检测速度很快,不过有点不爽的就是高低阈值需要输入。在matlab中,如果不指定阈值的话,由函数自适应确
定,因此仿照matlab中的做法,对canny函数进行了修改,以便当用户没有指定高低阈值时,由函数自适应确定阈值。
我在OpenCv原码库中增加了一个函数,用于确定高低阈值。
// 仿照matlab,自适应求高低两个门限
在把cvCanny函数进行以下修改。
在函数体中,当程序用两个sobel算子计算完水平和垂直两个方向的梯度强度过后加入以下代码
// 自适应确定阈值
这样,在调用cvCanny函数时,指定高低门限为-1,则cvCanny函数就自适应确定门限。
最后,别忘了重新编译cv库,对lib和dll库进行更新。
that's all!