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范围的转换?