零蚀
边缘检测算法
-
梯度计算
-
梯度按照我的观点来看,可以解释为图像不同位置的色彩变化差异程度。对于一个照片上的图像,图像的边缘,他的差异度会非常大,让人一眼看出来这个是边界,如同我们在相片上一眼就能认出这是人脸,这个边界以内的就是人脸区域,因为边界差异问题,导致了我们的识别速度快慢。
-
根据上述理论,当图像区域处于平坦的情况下,就会出现灰度变化很小,也就是说梯度小,在图像边缘变化程度很大的区域,梯度就比较大,梯度也就和图像灰度的一阶导函数成正相关。
-
在opencv中有两个计算梯度的计算方式,分别是Sobel,Scharr。
-
Sobel计算方式,是通过两个算子,分别是x算子,和y算子,通过这个公式我们不难看出,他的计算方式(以x算子为例),他是将当前点的左右两侧进行计算,就喝之前的卷积一样,在计算之后,将所有的权重乘积相加,得到左右的灰度加权差值,这种检测方式在精度要求不高的情况下,可以做到边缘检测(其x,y算子分别
-