版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Notzuonotdied/article/details/83651921
I have to remind myself that some birds don’t mean to be caged . Their feathers are just too bright. And when they fly away, the part of you that knows it was a sin to lock them up. DOES rejoice. Still, the place you live in is that much more drab and empty that they’re gone. I guess I just miss my friend. ——《肖申克的救赎》
前言
几何变换,又称空间变换,是图形处理的一个方面,是各种图形处理算法的基础。它将一幅图像中的坐标位置映射到另一幅图像中的新坐标位置,其实质是改变像素的空间位置,估算新空间位置上的像素值。几何变换算法一般包括空间变换运算和插值算法。
几何变换不改变图像的像素值, 只是在图像平面上进行像素的重新安排。适当的几何变换可以最大程度地消除由于成像角度、透视关系乃至镜头自身原因所造成的几何失真所产生的负面影响。几何变换常常作为图像处理应用的预处理步骤, 是图像归一化的核心工作之一。
一个几何变换需要两部分运算:首先是空间变换所需的运算, 如平移、缩放、旋转和正平行投影等, 需要用它来表示输出图像与输入图像之间的(像素)映射关系;此外,还需要使用灰度插值算法, 因为按照这种变换关系进行计算, 输出图像的像素可能被映射到输入图像的非整数坐标上。
概念
基础概念
说明
图像的几何变换
指用数学建模的方法来描述图像的位置、大小、形状等变换。
几何变换的内容
图像的空间平移、比例缩放、旋转、仿射变换和图像插值。
几何变换的实质
改变像素的空间位置。
图像集合变换的表达式
(
x
,
y
)
=
T
{
(
u
,
v
)
}
(x, y) = T\{(u, v)\}
( x , y ) = T { ( u , v ) }
(
x
,
y
)
(x, y)
( x , y ) 为变换后图像像素的笛卡尔坐标,
(
u
,
v
)
(u , v)
( u , v ) 为原始图像中像素的笛卡尔坐标。
变换后,如果
(
x
,
y
)
=
(
u
,
v
)
(x, y)=(u , v)
( x , y ) = ( u , v ) ,则变换后的图像仅仅是原图像的简单拷贝。
注意,几何变换不改变像素值,而是改变像素所在的位置 。这说明像素的亮度和色彩并不发生变化,仅仅是像素位置发生改变。
齐次坐标表示
所谓齐次坐标就是用
N
+
1
N+1
N + 1 维向量表示
N
N
N 维向量。
平面上的点
P
P
P 的坐标为
(
x
,
y
)
(x, y)
( x , y ) ,其齐次坐标表示为
(
w
x
,
w
y
,
w
)
(wx, wy, w)
( w x , w y , w ) ,其中
w
w
w 为任意常数。
如果规定齐次坐标的第三个分量
w
w
w 为
1
1
1 ,则称为规范齐次坐标。
引入齐次坐标的原因
在对图像进行操作时候,经常要对图像连续做几次变换。例如做了平移后再做旋转与缩放。因为旋转、缩放都是线性变换,因此可将旋转和缩放合并成一个变换矩阵来表示,如:
[
x
y
1
]
=
[
x
0
y
0
1
]
T
{ \left[\begin{array}{ccc} x & y & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} x_0 & y_0 & 1 \end{array} \right ]}^T
[ x y 1 ] = [ x 0 y 0 1 ] T
在直角坐标系中,平移不是线性变换,因此不能与旋转、缩放等操作合并成一个变换矩阵。
引入齐次坐标后,平移变为线性变换,从而可以采用一个通用的变换模型(仿射变换模型)表示图像的各种几何变换。
仿射变换
[
x
y
1
]
=
[
x
0
y
0
1
]
T
{ \left[\begin{array}{ccc} x & y & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} x_0 & y_0 & 1 \end{array} \right ]}^T
[ x y 1 ] = [ x 0 y 0 1 ] T
T
=
[
a
b
p
c
d
q
m
n
s
]
T=\left[ \begin{array}{ccc} a & b & p\\ c & d & q\\ m & n & s \end{array} \right ]
T = ⎣ ⎡ a c m b d n p q s ⎦ ⎤
a
b
c
d
a \ b \ c \ d
a b c d :实现比例变换、旋转变换、偏移变换
m
n
m \ n
m n :实现平移变换、
m
m
m 和
n
n
n 分别为
X
X
X 和
Y
Y
Y 方向的平移量。
s
s
s :实现等比例变换
p
q
p \ q
p q :实现透视变换
图像的位置变换
所谓图像的位置变换 是指图像的大小和形状不发生变化 ,只是将图像进行平移、旋转、镜像 等。
图像的位置变换主要是用于目标识别中的目标配准。
平移
平移的原理:
在图像平移是将一幅图像中所有的点都按照指定的平移量在水平、垂直方向移动,平移后的图像与原图像相同
平移变换
{
x
=
x
0
+
Δ
x
(
x
0
,
y
0
)
为平移之前的像素坐标
y
=
y
0
+
Δ
y
(
x
,
y
)
为
对
应
像
素
平
移
后
的
坐
标
\begin{cases} x=x_0+\Delta x & \text{$(x_0, y_0)$为平移之前的像素坐标}\\ y=y_0+\Delta y & \text{$(x, y)为对应像素平移后的坐标$} \end{cases}
{ x = x 0 + Δ x y = y 0 + Δ y ( x 0 , y 0 ) 为平移之前的像素坐标 ( x , y ) 为对应像素平移后的坐标
[
x
y
1
]
=
[
x
0
y
0
1
]
×
[
1
0
0
0
1
0
Δ
x
Δ
y
1
]
{ \left[\begin{array}{ccc} x & y & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} x_0 & y_0 & 1 \end{array} \right ]}\times{ \left[\begin{array}{ccc} 1 & 0 & 0\\ 0 & 1 & 0\\ \Delta x & \Delta y & 1 \end{array} \right ]}
[ x y 1 ] = [ x 0 y 0 1 ] × ⎣ ⎡ 1 0 Δ x 0 1 Δ y 0 0 1 ⎦ ⎤
平移的逆变换
{
x
=
x
0
−
Δ
x
(
x
0
,
y
0
)
为平移之前的像素坐标
y
=
y
0
−
Δ
y
(
x
,
y
)
为
对
应
像
素
平
移
后
的
坐
标
\begin{cases} x=x_0 - \Delta x & \text{$(x_0, y_0)$为平移之前的像素坐标}\\ y=y_0 - \Delta y & \text{$(x, y)为对应像素平移后的坐标$} \end{cases}
{ x = x 0 − Δ x y = y 0 − Δ y ( x 0 , y 0 ) 为平移之前的像素坐标 ( x , y ) 为对应像素平移后的坐标
[
x
0
y
0
1
]
=
[
x
y
1
]
×
[
1
0
0
0
1
0
−
Δ
x
−
Δ
y
1
]
{ \left[\begin{array}{ccc} x_0 & y_0 & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} x & y & 1 \end{array} \right ]}\times{ \left[\begin{array}{ccc} 1 & 0 & 0\\ 0 & 1 & 0\\ -\Delta x & -\Delta y & 1 \end{array} \right ]}
[ x 0 y 0 1 ] = [ x y 1 ] × ⎣ ⎡ 1 0 − Δ x 0 1 − Δ y 0 0 1 ⎦ ⎤
说明:平移后的图像上的每一点都可以在原图像中找到对应的点。
图像的镜像
前置条件:设图像高度为
H
H
H ,宽度为
W
W
W ,原图中的像素点
(
x
0
,
y
0
)
(x_0 , y_0)
( x 0 , y 0 ) 经过镜像后的坐标为
(
x
,
y
)
(x , y)
( x , y ) 。
水平镜像:以图像的垂直中轴线为中心交换图像的左右两部分。
{
x
=
x
0
y
=
W
−
y
0
\begin{cases} x=x_0 \\ y=W - y_0 \end{cases}
{ x = x 0 y = W − y 0
[
x
y
1
]
=
[
x
0
y
0
1
]
×
[
1
0
0
0
−
1
0
0
W
1
]
{ \left[\begin{array}{ccc} x & y & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} x_0 & y_0 & 1 \end{array} \right ]}\times{ \left[\begin{array}{ccc} 1 & 0 & 0\\ 0 & -1 & 0\\ 0 & W & 1 \end{array} \right ]}
[ x y 1 ] = [ x 0 y 0 1 ] × ⎣ ⎡ 1 0 0 0 − 1 W 0 0 1 ⎦ ⎤
垂直镜像:以图像的水平中轴线为中心交换图像的上下两部分
{
x
=
H
−
x
0
y
=
y
0
\begin{cases} x=H - x_0 \\ y=y_0 \end{cases}
{ x = H − x 0 y = y 0
[
x
y
1
]
=
[
x
0
y
0
1
]
×
[
−
1
0
0
0
1
0
H
0
1
]
{ \left[\begin{array}{ccc} x & y & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} x_0 & y_0 & 1 \end{array} \right ]}\times{ \left[\begin{array}{ccc} -1 & 0 & 0\\ 0 & 1 & 0\\ H & 0 & 1 \end{array} \right ]}
[ x y 1 ] = [ x 0 y 0 1 ] × ⎣ ⎡ − 1 0 H 0 1 0 0 0 1 ⎦ ⎤
图像的旋转
前置条件:图像中的像素点旋转前的坐标为
(
x
0
,
y
0
)
(x_0, y_0)
( x 0 , y 0 ) ,与y轴的角度为
α
\alpha
α ,旋转
θ
\theta
θ 角度后的坐标为
(
x
,
y
)
(x, y)
( x , y ) ,与y轴的角度为
α
−
θ
\alpha - \theta
α − θ 。
直角坐标公式
旋转前
x
0
=
r
s
i
n
α
x_0=rsin\alpha
x 0 = r s i n α
y
0
=
r
c
o
s
α
y_0=rcos\alpha
y 0 = r c o s α
旋转后
x
=
r
s
i
n
(
α
−
θ
)
=
r
(
s
i
n
α
c
o
s
θ
−
c
o
s
α
s
i
n
θ
)
=
x
0
c
o
s
θ
−
y
0
s
i
n
θ
x=rsin(\alpha-\theta)=r(sin\alpha cos\theta-cos\alpha sin\theta)=x_0cos\theta-y_0sin\theta
x = r s i n ( α − θ ) = r ( s i n α c o s θ − c o s α s i n θ ) = x 0 c o s θ − y 0 s i n θ
y
=
r
c
o
s
(
α
−
θ
)
=
r
(
c
o
s
α
c
o
s
θ
+
s
i
n
α
s
i
n
θ
)
=
y
0
c
o
s
θ
+
x
0
s
i
n
θ
y=rcos(\alpha-\theta)=r(cos\alpha cos\theta+sin\alpha sin\theta)=y_0cos\theta + x_0sin\theta
y = r c o s ( α − θ ) = r ( c o s α c o s θ + s i n α s i n θ ) = y 0 c o s θ + x 0 s i n θ
整理旋转后的公式
x
=
x
0
c
o
s
θ
−
y
0
s
i
n
θ
x=x_0cos\theta - y_0sin\theta
x = x 0 c o s θ − y 0 s i n θ
y
=
x
0
s
i
n
θ
+
y
0
c
o
s
θ
y=x_0sin\theta + y_0cos\theta
y = x 0 s i n θ + y 0 c o s θ
齐次坐标公式
[
x
y
1
]
=
[
x
0
y
0
1
]
×
[
c
o
s
θ
s
i
n
θ
0
−
s
i
n
θ
c
o
s
θ
0
0
0
1
]
{ \left[\begin{array}{ccc} x & y & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} x_0 & y_0 & 1 \end{array} \right ]}\times{ \left[\begin{array}{ccc} cos\theta & sin\theta & 0\\ -sin\theta & cos\theta & 0\\ 0 & 0 & 1 \end{array} \right ]}
[ x y 1 ] = [ x 0 y 0 1 ] × ⎣ ⎡ c o s θ − s i n θ 0 s i n θ c o s θ 0 0 0 1 ⎦ ⎤
图像旋转出现的问题
导致在旋转后的图像中出现空洞点
旋转计算后的值为小数或者负数,而坐标值应该为正整数。
旋转计算后的结果值所在范围与原坐标所在的范围不同。
解决方法
图像旋转出现的两个问题的本质 都是因为像素值的填充是不连续的。
可以采用插值 填充的方法来解决。
图像形状的变换
形状变换类型
说明
偏移变换
三维物体投影到平面时所产生的水平方向或者垂直方向的形状变化。
平面上比例变换
放大、缩小等。
水平偏移
直角坐标公式
{
x
=
x
0
y
=
S
h
x
0
+
y
0
\begin{cases} x=x_0 \\ y=S_hx_0+y_0 \end{cases}
{ x = x 0 y = S h x 0 + y 0
齐次坐标公式
[
x
y
1
]
=
[
x
0
y
0
1
]
×
[
1
S
h
0
0
1
0
0
0
1
]
=
[
x
0
S
h
x
0
+
y
0
1
]
{ \left[\begin{array}{ccc} x & y & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} x_0 & y_0 & 1 \end{array} \right ]}\times{ \left[\begin{array}{ccc} 1 & S_h & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} x_0 & S_hx_0+y_0 & 1 \end{array} \right ]}
[ x y 1 ] = [ x 0 y 0 1 ] × ⎣ ⎡ 1 0 0 S h 1 0 0 0 1 ⎦ ⎤ = [ x 0 S h x 0 + y 0 1 ]
垂直偏移
直角坐标公式
{
x
=
x
0
+
S
v
y
0
y
=
y
0
\begin{cases} x=x_0 + S_vy_0 \\ y=y_0 \end{cases}
{ x = x 0 + S v y 0 y = y 0
齐次坐标公式
[
x
y
1
]
=
[
x
0
y
0
1
]
×
[
1
0
0
S
v
1
0
0
0
1
]
=
[
x
0
+
S
v
y
0
y
0
1
]
{ \left[\begin{array}{ccc} x & y & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} x_0 & y_0 & 1 \end{array} \right ]}\times{ \left[\begin{array}{ccc} 1 & 0 & 0\\ S_v & 1 & 0\\ 0 & 0 & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} x_0+S_vy_0 & y_0 & 1 \end{array} \right ]}
[ x y 1 ] = [ x 0 y 0 1 ] × ⎣ ⎡ 1 S v 0 0 1 0 0 0 1 ⎦ ⎤ = [ x 0 + S v y 0 y 0 1 ]
图像的比例变换
直角坐标公式
{
x
=
c
x
x
0
比例系数>1:放大
y
=
c
y
y
0
比例系数<1:缩小
\begin{cases} x=c_xx_0 & \text{比例系数>1:放大}\\ y=c_yy_0 & \text{比例系数<1:缩小} \end{cases}
{ x = c x x 0 y = c y y 0 比例系数 >1 :放大 比例系数 <1 :缩小
齐次坐标公式
[
x
y
1
]
=
[
x
0
y
0
1
]
×
[
c
x
0
0
0
c
y
0
0
0
1
]
=
[
c
x
x
0
c
y
y
0
1
]
{ \left[\begin{array}{ccc} x & y & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} x_0 & y_0 & 1 \end{array} \right ]}\times{ \left[\begin{array}{ccc} c_x & 0 & 0\\ 0 & c_y & 0\\ 0 & 0 & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} c_xx_0 & c_yy_0 & 1 \end{array} \right ]}
[ x y 1 ] = [ x 0 y 0 1 ] × ⎣ ⎡ c x 0 0 0 c y 0 0 0 1 ⎦ ⎤ = [ c x x 0 c y y 0 1 ]
图像的比例缩放的算法
图像的缩小
图像的缩小实际上就是对原有的多个数据进行挑选或者处理,从而获得期望缩小尺寸的数据,并且尽量保持原有的特征不丢失。最简单的方法就是等间隔的选取数据 。
图像的放大
图像的放大从字面上看,是图像缩小的逆操作,但是从信息处理的角度来看,则难易程度完全不一样。
图像缩小是从多个信息中选出所需要的信息,而图像放大则是需要对多出的空位填入适当的值,是信息的估计,较图像缩小难度更大。
插值方式
效率
说明
最近邻插值
简单、快速
将放大后未知的像素点位置换算到原始图像上,并与原始图像上邻近的4个像素点做比较,最靠近的【如欧式距离等方式计算】邻近点的像素值即为该像素点的像素值。
双线性插值
较慢
将放大后未知的像素点位置换算到原始图像上,并将原始图像上邻近的4个像素点的灰度级别加权求和得到(权值可以采用距离进行度量,距离越近,权值越大)。
双三线性插值
从理论上讲,最近邻插值的效果最差,双三次插值的效果最好,双线性插值的效果介于两者之间。
最近邻插值 :算法简单,插值结果不连续,视觉上锯齿效应明显
双线性插值 :插值的结果是连续的,视觉上比最近邻插值要平滑
双线性插值
双向性插值法将放大后未知的像素点位置换算到原始图像上,并将原始图像上邻近的4个像素点的灰度级别加权求和得到。这里的加权采用的是
欧
式
距
离
等
距
离
公
式
/
[
W
i
d
t
h
H
e
i
g
h
t
]
欧式距离等距离公式/[Width \ Height]
欧 式 距 离 等 距 离 公 式 / [ W i d t h H e i g h t ] 。
前置条件
图例
假设放大之后的图像
G
G
G 的像素点
P
P
P 换算到原始图像上的位置为
(
x
+
Δ
x
,
y
+
Δ
y
)
(x+\Delta x, y+\Delta y)
( x + Δ x , y + Δ y ) ,则在F上的4个邻近点的
A
、
B
、
C
、
D
A、B、C、D
A 、 B 、 C 、 D 分别为
(
x
,
y
)
(x, y)
( x , y ) 、
(
x
,
y
+
1
)
(x, y+1)
( x , y + 1 ) 、
(
x
+
1
,
y
)
(x+1, y)
( x + 1 , y ) 、(x+1, y+1),而
e
e
e 和
f
f
f 的点的位置为
(
x
,
y
+
Δ
y
)
(x, y+\Delta y)
( x , y + Δ y ) 和
(
x
+
1
,
y
+
Δ
y
)
(x+1, y+\Delta y)
( x + 1 , y + Δ y ) 。说明:横向为y轴,竖向为x轴。
注意,这里采用的是欧式距离 来计算距离,作为权值。
假如存在两个点
A
(
x
1
,
y
1
)
A(x_1, y_1)
A ( x 1 , y 1 ) ,
B
(
x
2
,
y
2
)
B(x_2, y_2)
B ( x 2 , y 2 ) ,则欧式距离为:
d
i
s
t
a
n
c
e
=
(
x
1
−
x
2
)
2
+
(
y
1
−
y
2
)
2
distance = \sqrt {(x_1 -x_2)^2+(y_1-y_2)^2}
d i s t a n c e = ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2
所以权值的计算为:
w
e
i
g
h
t
=
d
i
s
t
a
n
c
e
w
i
d
t
h
‘
s
d
i
s
t
a
n
c
e
weight = \frac {distance}{width`s \ distance}
w e i g h t = w i d t h ‘ s d i s t a n c e d i s t a n c e 或者
w
e
i
g
h
t
=
d
i
s
t
a
n
c
e
h
e
i
g
h
t
‘
s
d
i
s
t
a
n
c
e
weight = \frac {distance}{height`s \ distance}
w e i g h t = h e i g h t ‘ s d i s t a n c e d i s t a n c e 。
双线性插值算法原理分析:
首先计算水平方向
A
(
x
,
y
)
A(x, y)
A ( x , y ) 、
B
(
x
,
y
+
1
)
B(x, y+1)
B ( x , y + 1 ) 对
P
(
x
+
Δ
x
,
y
+
Δ
y
)
P(x+\Delta x, y+\Delta y)
P ( x + Δ x , y + Δ y ) 的影响,得到
e
e
e 点的灰度值
F
(
x
,
y
+
Δ
y
)
=
(
x
−
x
)
2
+
(
(
y
+
1
)
−
(
y
+
Δ
y
)
)
2
(
(
x
−
x
)
2
+
(
(
y
+
1
)
−
y
)
2
F
(
x
,
y
)
+
(
x
−
x
)
2
+
(
(
y
+
Δ
y
)
−
y
)
2
(
(
x
−
x
)
2
+
(
(
y
+
1
)
−
y
)
2
F
(
x
,
y
+
1
)
F(x, y+\Delta y)=\frac {\sqrt{(x-x)^2+((y+1)-(y+\Delta y))^2}}{\sqrt{((x-x)^2+((y+1)-y)^2}}F(x, y)\\ +\frac {\sqrt {(x-x)^2+((y+\Delta y)-y)^2}}{\sqrt{((x-x)^2+((y+1)-y)^2}}F(x, y+1)
F ( x , y + Δ y ) = ( ( x − x ) 2 + ( ( y + 1 ) − y ) 2
( x − x ) 2 + ( ( y + 1 ) − ( y + Δ y ) ) 2
F ( x , y ) + ( ( x − x ) 2 + ( ( y + 1 ) − y ) 2
( x − x ) 2 + ( ( y + Δ y ) − y ) 2
F ( x , y + 1 )
计算
C
(
x
+
1
,
y
)
C(x+1, y)
C ( x + 1 , y ) 、
D
(
x
+
1
,
y
+
1
)
D(x+1, y+1)
D ( x + 1 , y + 1 ) 对
P
(
x
+
Δ
x
,
y
+
Δ
y
)
P(x+\Delta x, y+\Delta y)
P ( x + Δ x , y + Δ y ) 点的影响,得到
f
(
x
+
1
,
y
+
Δ
y
)
f(x+1, y+\Delta y)
f ( x + 1 , y + Δ y ) 点的灰度值
F
(
x
+
1
,
y
+
Δ
y
)
=
(
(
x
+
1
)
−
(
x
+
1
)
)
2
+
(
(
y
+
1
)
−
(
y
+
Δ
y
)
)
2
(
(
x
+
1
)
−
(
x
+
1
)
)
2
+
(
(
y
+
1
)
−
y
)
2
F
(
x
+
1
,
y
)
+
(
(
x
+
1
)
−
(
x
+
1
)
)
2
+
(
(
y
+
Δ
y
)
−
y
)
2
(
(
x
+
1
)
−
(
x
+
1
)
)
2
+
(
(
y
+
1
)
−
y
)
2
F
(
x
+
1
,
y
+
1
)
F(x+1, y+\Delta y)=\frac {\sqrt{((x+1)-(x+1))^2+((y+1)-(y+\Delta y))^2}}{\sqrt{((x+1)-(x+1))^2+((y+1)-y)^2}}F(x+1, y)\\ +\frac {\sqrt {((x+1)-(x+1))^2+((y+\Delta y)-y)^2}}{\sqrt{((x+1)-(x+1))^2+((y+1)-y)^2}}F(x+1, y+1)
F ( x + 1 , y + Δ y ) = ( ( x + 1 ) − ( x + 1 ) ) 2 + ( ( y + 1 ) − y ) 2
( ( x + 1 ) − ( x + 1 ) ) 2 + ( ( y + 1 ) − ( y + Δ y ) ) 2
F ( x + 1 , y ) + ( ( x + 1 ) − ( x + 1 ) ) 2 + ( ( y + 1 ) − y ) 2
( ( x + 1 ) − ( x + 1 ) ) 2 + ( ( y + Δ y ) − y ) 2
F ( x + 1 , y + 1 )
计算
e
(
x
,
y
+
Δ
y
)
e(x, y+\Delta y)
e ( x , y + Δ y ) 、
f
(
x
+
1
,
y
+
Δ
y
)
f(x+1, y+\Delta y)
f ( x + 1 , y + Δ y ) 对于
P
(
x
+
Δ
x
,
y
+
Δ
y
)
P(x+\Delta x, y+\Delta y)
P ( x + Δ x , y + Δ y ) 点的影响,得到
P
(
x
+
Δ
x
,
y
+
Δ
y
)
P(x+\Delta x, y+\Delta y)
P ( x + Δ x , y + Δ y ) 点的灰度值
F
(
x
+
Δ
x
,
y
+
Δ
y
)
=
(
(
x
+
1
)
−
(
x
+
Δ
x
)
)
2
+
(
(
y
+
Δ
y
)
−
(
y
+
Δ
y
)
)
2
(
(
x
+
1
)
−
x
)
2
+
(
(
y
+
Δ
y
)
−
(
y
+
Δ
y
)
)
2
F
(
x
,
y
+
Δ
y
)
+
(
(
x
+
Δ
x
)
−
x
)
2
+
(
(
y
+
Δ
y
)
−
(
y
+
Δ
y
)
)
2
(
(
x
+
1
)
−
x
)
2
+
(
(
y
+
Δ
y
)
−
(
y
+
Δ
y
)
)
2
F
(
x
+
1
,
y
+
Δ
y
)
F(x+\Delta x, y+\Delta y)=\frac {\sqrt{((x+1)-(x+\Delta x))^2+((y+\Delta y)-(y+\Delta y))^2}}{\sqrt{((x+1)-x)^2+((y+\Delta y)-(y+\Delta y))^2}}F(x, y+\Delta y)\\ +\frac {\sqrt {((x+\Delta x)-x)^2+((y+\Delta y)-(y+\Delta y))^2}}{\sqrt{((x+1)-x)^2+((y+\Delta y)-(y+\Delta y))^2}}F(x+1, y+\Delta y)
F ( x + Δ x , y + Δ y ) = ( ( x + 1 ) − x ) 2 + ( ( y + Δ y ) − ( y + Δ y ) ) 2
( ( x + 1 ) − ( x + Δ x ) ) 2 + ( ( y + Δ y ) − ( y + Δ y ) ) 2
F ( x , y + Δ y ) + ( ( x + 1 ) − x ) 2 + ( ( y + Δ y ) − ( y + Δ y ) ) 2
( ( x + Δ x ) − x ) 2 + ( ( y + Δ y ) − ( y + Δ y ) ) 2
F ( x + 1 , y + Δ y )
附录