lcytms
发表于 2017-5-2 11:13:55
0936
而平方和、开方根,就要用到DSP了。
用到平方器,还要用到开方根,那么无论是冈萨雷斯还是夏老师,采用了一种简便的算法。
因为它们是连续函数,我们并不需要得到它的绝对值,准确值,我们只需要得到它的最大值,所以说就用绝对值来做,|D|=|Dx|+|Dy|。
这个时候,D的绝对值最大的部分,它跟这个计算出来的平方和、开方根,是类似的。
我们并不需要计算出它导数的最大值,就是这个导数的精确值。
lcytms
发表于 2017-5-2 11:15:20
0937
我们只需要得到每一个像素点上,这个值比较大。
所以说呢,这是一个简便的算法,这是用绝对值来替代平方和、开方根。
使我们的算法简便了。
并不需要得到它。
这个公式,高等数学上说,是单调的,连续的。
所以说它允许用绝对值来算。那么这样的话呢?
我们就解决了这个问题,就是算X方向的偏导,Y方向的偏导。
偏导的亮度,来计算出绝对值。
但是偏导的亮度怎么得到呢?
这个是由3*3的模板得到的。
冈萨雷斯、夏老师和我们绿皮书上都不一样。
正好相反。
各有各的道理,往后再讨论。
lcytms
发表于 2017-5-2 11:16:17
0938
我仍然比较倾向于我们的绿皮书教材。
我们绿皮书教材里面的偏导数,它写成Gx,Gy,计算的方法是这样。
lcytms
发表于 2017-5-2 11:17:03
0939
用模板对应坐标的亮度值。
Dx,X方向,它的亮度的偏导数,用离散的方法得到。
离散的方法推导的过程这里从略了,如果有兴趣的话呢,冈萨雷斯他有两个版本,数字图像处理,一个是matlab版,还有一个是数学版。
matlab版呢也没有这个推导公式怎么推导出来的,但是数学版上有。
就是这两个模板是怎么推出来的。
用偏微分方程推出来的。
lcytms
发表于 2017-5-2 11:18:51
0940
这个是它的系数。
这是Cx,这是Cy。
lcytms
发表于 2017-5-2 11:19:28
0941
用3*3的模板代进去。
lcytms
发表于 2017-5-2 11:20:54
0942
根据这个模板不难得到。
把亮度的值填到C模板里面,代入到这个公式里面。
lcytms
发表于 2017-5-2 11:22:18
0943
这是亮度值在X方向的偏导。接下来,Dy。
这就得到了Dx、Dy。
算法就是这样。
有了Dx、Dy,然后呢,我们求它的绝对值的时候,要么我们求平方和、开方根,要么我们简略掉,因为它是连续单调的,我们可以求它的绝对值。
lcytms
发表于 2017-5-2 11:24:09
0944
Dx的绝对值加上Dy的绝对值,然后呢,判定哪个值比较大。
得到的是一个什么呢?
是一个偏导数。
横轴和纵轴的偏导数,得到亮度的变化率图像。
要得到图像的边缘怎么做呢?
我们只需要确定亮度变化率,高于什么值,我们把它做成1,低于什么值做成0。
lcytms
发表于 2017-5-2 11:24:42
0945
现在我来给大家做一遍。
页:
1
2
3
[4]
5
6
7
8
9
10
11
12
13