图像边缘检测原理

1. 求边缘检测就是求解图像灰度值的变化值

因为图像就是一个复杂的函数,求解一个函数的变化值,当然是使用导数进行求解。
导数:连续函数上某点斜率,导数越大表示变化率越大,变化率越大的地方就越是“边缘”,但是在计算机中不常用,因为在斜率90度的地方,导数无穷大,计算机很难表示这些无穷大的东西
微分:连续函数上x变化了dx,导致y变化了dy,dy值越大表示变化的越大,那么计算整幅图像的微分,dy的大小就是边缘的强弱了。
微分与导数的关系:dy = f '(x) dx

对于一维函数的一阶微分定义:
微分
因为灰度图像是一个二维矩阵,需要在二维函数的微分上进行计算,即偏微分方程:
图像边缘检测原理_第1张图片
一张灰度图的最大变化率方向上的单位距离增加值:
图像边缘检测

2. 图像是离散的

	离散函数的微分叫差分,也是求变化率。
	差分基本定义:f '(x) = f(x + 1) - f(x)
						= -f(x) + f(x + 1)
	由此,提出系数[-1,1]作为滤波算子,与灰度图进行卷积计算得到边缘。

3. 模板为什么要是奇数的?

因为模板是偶数的话,卷积出来的结果应该是放在中间的,不方便表示。
例如:图像 [10, 20, 30] 跟 [-1, 1] 卷积后的值,应该放在图像 10 跟 20 中间的位置,就是应该放在 0 和 1 号位置的中间,也就是 0.5 号位,但是图像是离散的,中间没得放,只能放在 0 号位,也就是 10 的位置,就偏差了 0.5 的位置,为了方便处理,滤波模板一般都是奇数个的,3,5,7 个的。

通过不断的改进,分别有了prewitt边缘检测算子

-1, 0, 1
-1, 0, 1
-1, 0, 1

sobel算子

-1, 0, 1
-2, 0, 2
-1, 0, 1

等等改变权重来侧重方向敏感度。

你可能感兴趣的:(图像处理,图像处理)