Canny

void cv::Canny ( InputArray image, (输入图像:8-bit)
OutputArray edges, (输出边缘图像:单通道,8-bit,size与输入图像一致)
double threshold1, (阈值1)
double threshold2, (阈值2)
int apertureSize=3, (Sober算子大小)
bool L2gradient=false (是否采用更精确的方式计算图像梯度)
)

Canny算法过程:

(1)灰度化

(2)高斯滤波

(3)sobel计算梯度的幅值与方向

(4)对梯度幅值进行非最大信号边缘抑制(边缘细化):在梯度方向上进行比较;梯度方向两侧的值采用线性插值方式实现;

(5)双阈值算法检测和连接边缘:较高阈值用于初始分割强边缘,较小阈值用于连接边缘;

说明:

(1)这里设置的双阈值范围为0-255,哪一步实现了梯度大小到0-255范围的转换?

posted @ 2019-10-29 23:17  kuaqi  阅读(268)  评论(0编辑  收藏  举报