【二】 数字图像的运算 (下)【数字图像处理】
6.2 线性运算
线性运算具有可加性和齐次性,即运算结果与输入成比例并且运算顺序不会影响结果。数学上,若对于两幅任意图像 f ( x , y ) f(x,y) f(x,y) 和 g ( x , y ) g(x,y) g(x,y) 及常数 a a a 和 b b b,运算 T T T 满足:
H [ a f ( x , y ) + b g ( x , y ) ] = a H [ f ( x , y ) ] + b H [ g ( x , y ) ] Η[a f(x,y) + b g(x,y)] = a H[f(x,y)] + b H[g(x,y)] H[af(x,y)+bg(x,y)]=aH[f(x,y)]+bH[g(x,y)]
那么这个运算就是线性的, H H H是一个线性算子。常见的线性运算包括卷积、平滑滤波等。
常见的线性运算:
-
卷积:在图像处理中,卷积是常见的线性操作,通常用于应用滤波器对图像进行处理,比如平滑、锐化。
-
平滑滤波:使用均值滤波器或高斯滤波器来减少图像中的噪声,是典型的线性运算。
-
傅里叶变换:用于将图像从空间域转换到频率域进行分析,这也是线性运算。频率域中的线性操作与空间域中的卷积相关。
-
线性运算通常用于简单的滤波和增强,计算效率高,处理较规则的图像变化。
2005、2007、2010、2012甄题【计算题】
(15分)设灰度图像为 I [ W ] [ H ] I[W][H] I[W][H],其中 W W W、 H H H分别为图像的宽度和高度,请求出将其变为均值为 U U U、方差为 D D D的图像 J J J所需的灰度线性变换函数。
设线性变换为 J = a I + b 。 E I = μ , E J = U ; D I = σ 2 , D J = D J=aI+b。EI=μ,EJ=U;DI=σ^2,DJ=D J=aI+b。EI=μ,EJ=U;DI=σ2,DJ=D,有
{ E J = E ( a I + b ) = a E I + b = a μ + b = U D J = D ( a I + b ) = a 2 D I = a 2 σ 2 = D ⟹ { a = D σ 2 b = U − μ D σ 2 \begin{cases} EJ=E(aI+b)=aEI+b=aμ+b=U \\ DJ=D(aI+b)=a^2DI=a^2σ^2=D \end{cases}\implies \begin{cases} a=\sqrt{\frac{D}{σ^2}} \\ b=U-μ\sqrt{\frac{D}{σ^2}} \end{cases} {EJ=E(aI+b)=aEI+b=aμ+b=UDJ=D(aI+b)=a2DI=a2σ2=D⟹⎩ ⎨ ⎧a=σ2Db=U−μσ2D于是所求线性变换函数为 J = D σ 2 I + U − μ D σ 2 J=\sqrt{\frac{D}{σ^2}}I+U-μ\sqrt{\frac{D}{σ^2}} J=σ2DI+U−μσ2D
可考题【计算题】
问:算子 H ( f ) = f + 1 H(f)=f+1 H(f)=f+1是否是线性算子?为什么?
对于任意的函数 f 1 f_1 f1 和 f 2 f_2 f2,以及任意的标量 a a a 和 b b b ,如果 H ( f ) H(f) H(f) 是线性算子,则应满足以下条件: H ( a f 1 + b f 2 ) = a H ( f 1 ) + b H ( f 2 ) H(af_1 + bf_2) = a H(f_1) + b H(f_2) H(af1+bf2)=aH(f1)+bH(f2)
- 计算左侧: H ( a f 1 + b f 2 ) = ( a f 1 + b f 2 ) + 1 H(af_1+bf_2) = (af_1+bf_2)+1 H(af1+bf2)=(af1+bf2)+1
- 计算右侧: a H ( f 1 ) + b H ( f 2 ) = a ( f 1 + 1 ) + b ( f 2 + 1 ) = ( a f 1 + b f 2 ) + ( a + b ) \begin{align*} aH(f_1)+bH(f_2)&= a(f_1+1)+b(f_2+1)\\ &=(af_1+bf_2)+(a+b)\\ \end{align*} aH(f1)+bH(f2)=a(f1+1)+b(f2+1)=(af1+bf2)+(a+b)
显然 H ( a f 1 + b f 2 ) ≠ a H ( f 1 ) + b H ( f 2 ) H(af_1+bf_2)≠aH(f_1)+bH(f_2) H(af1+bf2)=aH(f1)+bH(f2)。因此, H ( f ) = f + 1 H(f)=f+1 H(f)=f+1不是线性算子
习题2.22
参考方程 (2-22) 和 (2-23),设 H H H 表示求和算子,设 S 1 S_1 S1 和 S 2 S_2 S2 表示两个大小相同的不同小子图像区域,并且 S 1 + S 2 S_1 + S_2 S1+S2 表示 S 1 S_1 S1 和 S 2 S_2 S2 中元素的对应逐点和,如第2.6节所解释的那样。算子 H H H 计算一个邻域中像素值的总和,因此对于给定的邻域,生成一个标量。于是, H ( a S 1 + b S 2 ) H(aS_1 + bS_2) H(aS1+bS2) 的意思是:(1)将每个子图像区域中的像素乘以给定的常数,(2)将 a S 1 aS_1 aS1 和 b S 2 bS_2 bS2 的逐像素值相加(这会生成一个单一的子图像区域),(3)计算该单一子图像区域中所有像素值的总和,这将生成一个标量。设 a p 1 ap_1 ap1 和 b p 2 bp_2 bp2 表示来自 a S 1 + b S 2 aS_1 + bS_2 aS1+bS2 的任意(但对应的)两个像素值。然后我们可以写作:
H ( a S 1 + b S 2 ) = ∑ p 1 ∈ S 1 , p 2 ∈ S 2 ( a p 1 + b p 2 ) = ∑ p 1 ∈ S 1 a p 1 + ∑ p 2 ∈ S 2 b p 2 = a ∑ p 1 ∈ S 1 p 1 + b ∑ p 2 ∈ S 2 p 2 = a H ( S 1 ) + b H ( S 2 ) \begin{align*} H(aS_1 + bS_2) &= \sum_{p_1 \in S_1, \, p_2 \in S_2} (a p_1 + b p_2) \\ &= \sum_{p_1 \in S_1} a p_1 + \sum_{p_2 \in S_2} b p_2 \\ &= a \sum_{p_1 \in S_1} p_1 + b \sum_{p_2 \in S_2} p_2 \\ &= a H(S_1) + b H(S_2) \end{align*} H(aS1+bS2)=p1∈S1,p2∈S2∑(ap1+bp2)=p1∈S1∑ap1+p2∈S2∑bp2=ap1∈S1∑p1+bp2∈S2∑p2=aH(S1)+bH(S2)
根据方程 (2-23),这表明 H H H 是一个线性算子。
6.3 非线性运算
非线性运算是不满足线性叠加性和齐次性的运算。它们通常用于处理图像中的复杂情况,如增强对比度、去除噪声、边缘检测等。这类运算对输入变化的反应不按比例变化,因而能够处理图像中的极端值或非线性结构。
常见的非线性运算:
-
形态学运算:
- 主要用于二值图像的结构分析,常见的操作包括膨胀、腐蚀、开运算和闭运算。这些操作根据结构元素的形状对图像进行局部处理,而不是简单的线性滤波。
- 例如,腐蚀操作将图像中的物体缩小,而膨胀操作则扩大物体。它们都是非线性运算,因为结果不能通过线性组合获得。
-
中值滤波:
- 用于去除图像中的椒盐噪声。中值滤波通过将像素值替换为其邻域中的中值来工作。这是非线性的,因为它不依赖于像素值的线性组合,而是基于排序操作。
-
直方图均衡化:
- 这是一种图像增强技术,用于提高对比度。它将图像的灰度级重新分配,使得输出图像中的灰度级分布更加均匀。直方图均衡化也是一种非线性操作,因为它改变了像素值之间的相对关系。
-
非线性滤波器:
- 如双边滤波器,它同时考虑空间域和灰度值域,具有保边去噪的效果,这是一种典型的非线性操作。
-
非线性运算适合处理复杂的图像细节,如边缘、噪声等,虽然计算复杂度较高,但处理效果更加精细。
特点 | 线性运算 | 非线性运算 |
---|---|---|
定义 | 满足叠加性和齐次性 | 不满足叠加性和齐次性 |
常见应用 | 图像滤波、图像增强、频域变换 | 去噪、边缘检测、图像增强 |
计算复杂度 | 通常较低,计算方便 | 通常较高,计算复杂 |
滤波器类型 | 均值滤波、高斯滤波、卷积 | 中值滤波、双边滤波 |
应用场景 | 适合处理平滑噪声、简单增强 | 适合处理复杂边缘、非线性噪声 |
习题2.23*
s ( x , y ) = f ( x , y ) + g ( x , y ) ; d ( x , y ) = f ( x , y ) − g ( x , y ) ; p ( x , y ) = f ( x , y ) × g ( x , y ) ; v ( x , y ) = f ( x , y ) ÷ g ( x , y ) s(x,y)=f(x,y)+g(x,y);d(x,y)=f(x,y)-g(x,y);p(x,y)=f(x,y)×g(x,y);v(x,y)=f(x,y)÷g(x,y) s(x,y)=f(x,y)+g(x,y);d(x,y)=f(x,y)−g(x,y);p(x,y)=f(x,y)×g(x,y);v(x,y)=f(x,y)÷g(x,y)
参考上面4个式子,证明:(a)图像相加是线性运算;(b)图像相减是线性运算;(c)图像相乘是非线性运算(d)图像相除是非线性运算。
(a) H ( a f 1 + b f 2 ) = ( a f 1 + b f 2 ) + ( a f 1 + b f 2 ) = 2 a f 1 + 2 b f 2 \begin{align*} H(af_1+bf_2)&= (af_1+bf_2)+(af_1+bf_2)\\ &=2af_1+2bf_2\\ \end{align*} H(af1+bf2)=(af1+bf2)+(af1+bf2)=2af1+2bf2 a H ( f 1 ) + b H ( f 2 ) = a ( f 1 + f 1 ) + b ( f 2 + f 2 ) = 2 a f 1 + 2 b f 2 = H ( a f 1 + b f 2 ) \begin{align*} aH(f_1)+bH(f_2)&= a(f_1+f_1)+b(f_2+f_2)\\ &=2af_1+2bf_2\\&=H(af_1+bf_2) \end{align*} aH(f1)+bH(f2)=a(f1+f1)+b(f2+f2)=2af1+2bf2=H(af1+bf2)
(b) H ( a f 1 + b f 2 ) = ( a f 1 + b f 2 ) − ( a f 1 + b f 2 ) = 0 \begin{align*} H(af_1+bf_2)&= (af_1+bf_2)-(af_1+bf_2)=0\\ \end{align*} H(af1+bf2)=(af1+bf2)−(af1+bf2)=0 a H ( f 1 ) + b H ( f 2 ) = a ( f 1 − f 1 ) + b ( f 2 − f 2 ) = 0 = H ( a f 1 + b f 2 ) \begin{align*} aH(f_1)+bH(f_2)&= a(f_1-f_1)+b(f_2-f_2)=0\\ &=H(af_1+bf_2) \end{align*} aH(f1)+bH(f2)=a(f1−f1)+b(f2−f2)=0=H(af1+bf2)
(c) H ( a f 1 + b f 2 ) = ( a f 1 + b f 2 ) × ( a f 1 + b f 2 ) = a 2 f 1 × f 1 + 2 a b f 1 × f 2 + b 2 f 2 × f 2 \begin{align*} H(af_1+bf_2)&= (af_1+bf_2)×(af_1+bf_2)\\ &=a^2f_1×f_1+2abf_1×f_2+b^2f_2×f_2\\ \end{align*} H(af1+bf2)=(af1+bf2)×(af1+bf2)=a2f1×f1+2abf1×f2+b2f2×f2 a H ( f 1 ) + b H ( f 2 ) = a ( f 1 × f 1 ) + b ( f 2 × f 2 ) ≠ H ( a f 1 + b f 2 ) \begin{align*} aH(f_1)+bH(f_2)&= a(f_1×f_1)+b(f_2×f_2)\\ &≠H(af_1+bf_2) \end{align*} aH(f1)+bH(f2)=a(f1×f1)+b(f2×f2)=H(af1+bf2)
(d) H ( a f 1 + b f 2 ) = ( a f 1 + b f 2 ) ÷ ( a f 1 + b f 2 ) = 1 \begin{align*} H(af_1+bf_2)&= (af_1+bf_2)÷(af_1+bf_2)=1\\ \end{align*} H(af1+bf2)=(af1+bf2)÷(af1+bf2)=1 a H ( f 1 ) + b H ( f 2 ) = a ( f 1 ÷ f 1 ) + b ( f 2 ÷ f 2 ) = a + b ≠ H ( a f 1 + b f 2 ) \begin{align*} aH(f_1)+bH(f_2)&= a(f_1÷f_1)+b(f_2÷f_2)\\ &= a+b\\ &≠H(af_1+bf_2) \end{align*} aH(f1)+bH(f2)=a(f1÷f1)+b(f2÷f2)=a+b=H(af1+bf2)
习题2.29
6.4 集合运算和逻辑运算
6.4.1 二值图像的集合运算
-
交集(Intersection)
交集运算可以理解为两幅图像中同时为1的部分。对于二值图像 A A A 和 B B B,交集运算的结果 C C C 是这样定义的:
C ( x , y ) = A ( x , y ) ∩ B ( x , y ) C(x, y) = A(x, y) \cap B(x, y) C(x,y)=A(x,y)∩B(x,y)在图像中,交集用于提取两个图像区域的公共部分,例如找出两个物体重叠的区域。 -
并集(Union)
并集运算表示图像中任一图像为1的部分。对于二值图像 A A A 和 B B B,并集运算的结果 C C C 是:
C ( x , y ) = A ( x , y ) ∪ B ( x , y ) C(x, y) = A(x, y) \cup B(x, y) C(x,y)=A(x,y)∪B(x,y)并集通常用于将多个区域合并成一个整体,例如组合不同物体的轮廓。 -
差集(Difference)
差集运算用于找出一幅图像中不属于另一幅图像的部分。差集 A − B A - B A−B 表示在图像 A A A 中存在但在图像 B B B 中不存在的像素。其定义为:
C ( x , y ) = A ( x , y ) − B ( x , y ) C(x, y) = A(x, y) - B(x, y) C(x,y)=A(x,y)−B(x,y)这一操作在背景去除、运动检测等应用中很有用,能提取出两幅图像之间的差异。 -
补集(Complement)
补集运算表示对图像中像素值的反转,即将0变为1,1变为0。对于二值图像 A A A,其补集定义为:
C ( x , y ) = 1 − A ( x , y ) C(x, y) = 1 - A(x, y) C(x,y)=1−A(x,y)补集运算通常用于反向选择或对象提取,例如将背景和前景互换。 -
图像形态学中的集合运算
在数学形态学中,集合运算的概念也应用于图像处理,特别是膨胀和腐蚀操作,它们通过结构元素与图像的集合运算来实现形态变化:- 膨胀(Dilation):类似于并集操作,通过将结构元素与图像中的每个像素做并集,扩展对象的边界。
- 腐蚀(Erosion):类似于交集操作,通过将结构元素与图像做交集,缩小对象的边界。
-
应用场景
- 图像分割:通过交集和并集组合不同区域的结果,得到感兴趣区域。
- 物体检测:差集可以帮助检测图像中新增或移除的物体。
- 图像掩膜:通过交集和补集,可以生成感兴趣区域的掩膜图像。
6.4.2 灰度图像的集合运算
在灰度图像中,尽管像素值不是二值的(而是连续或离散的多个灰度级),我们仍然可以定义集合运算,不过这些运算不再像处理二值图像时那么直观。为了适应灰度图像,集合运算通常需要通过对像素值的某些操作来实现。例如:
-
交集(Intersection)
对于灰度图像 A A A 和 B B B,交集运算可以定义为每个像素对应取最小值:
C ( x , y ) = min { A ( x , y ) , B ( x , y ) } C(x, y) = \min\{A(x, y), B(x, y)\} C(x,y)=min{A(x,y),B(x,y)}这一操作会保留两幅图像中较暗(较小灰度值)的部分,模拟了二值图像中的“交集”概念。 -
并集(Union)
灰度图像的并集运算可以定义为每个像素对应取最大值:
C ( x , y ) = max { A ( x , y ) , B ( x , y ) } C(x, y) = \max\{A(x, y), B(x, y)\} C(x,y)=max{A(x,y),B(x,y)}该操作保留了较亮(较大灰度值)的部分,类似于二值图像中的“并集”运算。 -
差集(Difference)
差集在灰度图像中用于表示图像 A A A 中存在、但在图像 B B B 中不存在的像素。这可以通过取对应像素值的差,并确保结果不为负数来实现:
C ( x , y ) = max { A ( x , y ) − B ( x , y ) , 0 } C(x, y) = \max\{A(x, y) - B(x, y), 0\} C(x,y)=max{A(x,y)−B(x,y),0}这将保留 A A A 中的独特信息,并忽略 B B B 中也有的部分,类似于二值图像的差集。 -
补集(Complement)
灰度图像的补集可以理解为每个像素值的反转。对于一个范围在 [ 0 , 255 ] [0, 255] [0,255] 的 8-bit 灰度图像,补集运算可以表示为:
C ( x , y ) = 255 − A ( x , y ) C(x, y) = 255 - A(x, y) C(x,y)=255−A(x,y)这一操作类似于二值图像的补集,将较亮的像素变暗,较暗的像素变亮。 -
灰度形态学操作
在灰度图像中,形态学操作也是集合运算的一种推广,通常通过定义结构元素与图像像素之间的集合运算来改变图像的形态。例如:- 灰度膨胀(Dilation):类似并集,使用结构元素求最大值扩展图像亮度区域。
- 灰度腐蚀(Erosion):类似交集,使用结构元素求最小值缩小图像亮度区域。
应用场景
灰度图像的集合运算常用于图像增强、滤波、对比度调整等场景。例如:
- 交集 可以用于多幅图像的共同区域提取;
- 并集 可以用于合并不同来源的亮度信息;
- 差集 可以用于运动检测、变化检测等应用。
习题2.30
习题2.31
习题2.32
习题2.33
(a) 我们需要证明以下三种性质在“小于或等于”的关系下成立:
- 自反性:任何实数都通过“小于或等于”关系与自身相关联。换句话说,任何实数等于自身。
- 传递性:对于任意三个实数 a a a、 b b b 和 c c c,如果 a a a 小于或等于 b b b,且 b b b 小于或等于 c c c,那么 a a a 必然小于或等于 c c c。因此,传递性成立。
- 反对称性:对于任意两个实数 a a a 和 b b b,如果 a a a 小于或等于 b b b,且 b b b 小于或等于 a a a,那么可以得出 a a a 和 b b b 是相同的数。
由于这三个性质都成立,因此在“小于或等于”关系下,集合 S S S 是一个偏序集。
(b) 我们需要证明反自反性和传递性在“小于”关系下成立:
- 反自反性:任何实数都不能小于自身,因此该性质成立。
- 传递性:对于任意三个实数 a a a、 b b b 和 c c c,如果 a a a 小于 b b b,且 b b b 小于 c c c,那么 a a a 必然小于 c c c。因此,传递性成立。
习题2.34
要解决这个问题,我们需要证明“可整除”关系是自反的、传递的和反对称的。
(a) 自反性:任何正整数都能被自身整除(即,问题陈述中 k = 1 k = 1 k=1),因此这个条件是满足的。
6.4.2 二值图像的逻辑运算
-
与运算(AND)
- 操作:两个图像对应位置的像素值相乘。只有当两个像素都为 1 时,结果才为 1;否则为 0。
- 公式: C ( x , y ) = A ( x , y ) ∧ B ( x , y ) C(x, y) = A(x, y) \land B(x, y) C(x,y)=A(x,y)∧B(x,y)
- 应用:用于提取多个图像的共同区域。
-
或运算(OR)
- 操作:两个图像对应位置的像素只要有一个为 1,结果就为 1;否则为 0。
- 公式: C ( x , y ) = A ( x , y ) ∨ B ( x , y ) C(x, y) = A(x, y) \lor B(x, y) C(x,y)=A(x,y)∨B(x,y)
- 应用:用于合并多个图像信息,突出显示任一图像中的亮点。
-
非运算(NOT)
- 操作:将图像中的像素值取反。即 1 变为 0,0 变为 1。
- 公式: C ( x , y ) = ¬ A ( x , y ) C(x, y) = \neg A(x, y) C(x,y)=¬A(x,y)
- 应用:用于反转图像,使得黑白颜色对调。
-
异或运算(XOR):相同为0,不同为1。这个是重点。
- 操作:两个图像对应位置的像素值不同,结果为 1;相同,结果为 0。
- 公式: C ( x , y ) = A ( x , y ) ⊕ B ( x , y ) C(x, y) = A(x, y) \oplus B(x, y) C(x,y)=A(x,y)⊕B(x,y)
- 应用:用于突出显示两幅图像中的差异,常用于变化检测或边缘提取。
应用场景
逻辑运算在图像处理中有多种用途,特别是在图像分割、特征提取和区域检测等任务中。以下是一些常见的应用:
- 图像合成:通过或运算合并多个图像的亮点信息。
- 遮罩操作:通过与运算将一个区域遮罩,提取特定区域。
- 边缘检测:通过异或运算找出图像之间的差异,从而提取边缘或变化区域。
- 图像反转:通过非运算反转二值图像,生成对比效果。
6.5 空间运算:直接处理图像像素
6.5.1 单像素运算(即点运算)
点运算又称为“灰度变换”,是一种像素的逐点运算,是灰度到灰度的映射过程。点运算常用于改变图像的灰度范围及分布,是图像数字化及图像显示时常常需要的工具。点运算因其作用的性质有时也被称为对比度增强、对比度拉伸或灰度变换。
6.5.2 邻域运算(即局部运算)
如平均运算:
g ( x , y ) = 1 m n ∑ ( r , c ) ∈ S x , y f ( r , c ) g(x,y)=\frac{1}{mn}\sum_{(r,c)∈S_{x,y}}f(r,c) g(x,y)=mn1(r,c)∈Sx,y∑f(r,c) r 和 c r和c r和c是像素的行坐标和列坐标,这些坐标属于集合 S x y S_{xy} Sxy。
2005、2006、2008、2012甄题【名词解释】
局部运算
基于输入像素的一个邻域的像素灰度决定该像素输出灰度的图像处理运算。
6.5.3 几何变换
几何变换1
几何变换改变图像中像素的空间排列。数字图像的几何变换由两种基本运算组成:
(1)坐标的空间变换;
(2)灰度内插,即为空间变换后的像素赋予灰度值。【4.5小结有介绍】
坐标的空间变换表示为 [ x ′ y ′ 1 ] = [ a 11 a 12 a 13 a 21 a 22 a 23 0 0 1 ] [ x y 1 ] \begin{bmatrix} x'\\ y'\\ 1 \end{bmatrix}= \begin{bmatrix} a_{11} & a_{12} & a_{13}\\ a_{21} & a_{22} & a_{23} \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x\\ y\\ 1 \end{bmatrix} x′y′1 = a11a210a12a220a13a231 xy1
基本的放射变换见表2.3
极坐标推一下旋转变换:
x = r c o s α x=rcosα x=rcosα
y = r s i n α y=rsinα y=rsinα
逆时针旋转 θ θ θ度
x ′ = r c o s ( α + θ ) = r [ c o s α c o s θ − s i n α s i n θ ] = x c o s θ − y s i n θ x'=rcos(α+θ)=r[cosαcosθ-sinαsinθ]=xcosθ-ysinθ x′=rcos(α+θ)=r[cosαcosθ−sinαsinθ]=xcosθ−ysinθ
y ′ = r s i n ( α + θ ) = r [ s i n α c o s θ + s i n θ c o s α ] = x s i n θ + y c o s θ y'=rsin(α+θ)=r[sinαcosθ+sinθcosα]=xsinθ+ycosθ y′=rsin(α+θ)=r[sinαcosθ+sinθcosα]=xsinθ+ycosθ
[ x ′ y ′ 1 ] = [ x c o s θ − y s i n θ x s i n θ + y c o s θ 1 ] = [ c o s θ − s i n θ 0 s i n θ c o s θ 0 0 0 1 ] [ x y 1 ] \begin{bmatrix} x'\\ y'\\ 1 \end{bmatrix} =\begin{bmatrix} xcosθ-ysinθ\\ xsinθ+ycosθ\\ 1 \end{bmatrix}= \begin{bmatrix} cosθ & -sinθ & 0 \\ sinθ & cosθ & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x\\ y\\ 1 \end{bmatrix} x′y′1 = xcosθ−ysinθxsinθ+ycosθ1 = cosθsinθ0−sinθcosθ0001 xy1
还需要记住的是:逆时针旋转 − θ - θ −θ 度等于顺时针旋转 θ θ θ 度
图像旋转过程中,由于像素点的位置发生了改变,可能会出现一些原本被填充的区域变成了空白区域,这就是所谓的空穴问题。为了解决这个问题,可以利用周边像素点的信息来填充这些空穴,例如可以通过检查周边是否有三个或三个以上不为空的像素点来判断该空穴是否可以被填充。【图像内插】
2005、2006、2007甄题【计算题】
逆时针旋转30°所需变换矩阵为 ( c o s 30 ° − s i n 30 ° 0 s i n 30 ° c o s 30 ° 0 0 0 1 ) = ( 3 2 − 1 2 0 1 2 3 2 0 0 0 1 ) \mathbf{} \begin{pmatrix} cos30°& -sin30° & 0 \\ sin30° &cos30° & 0 \\ 0& 0 & 1 \end{pmatrix}= \mathbf{} \begin{pmatrix} \frac{\sqrt{3}}{2}& -\frac{1}{2} & 0 \\ \frac{1}{2} &\frac{\sqrt{3}}{2} & 0 \\ 0& 0 & 1 \end{pmatrix} cos30°sin30°0−sin30°cos30°0001 = 23210−21230001 将所有点平移,使得旋转中心 f ( 2 , 2 ) f(2,2) f(2,2)移动到原点。所需平移变换阵为 ( 1 0 − 2 0 1 − 2 0 0 1 ) \mathbf{} \begin{pmatrix} 1 & 0 & -2 \\ 0 & 1 & -2 \\ 0 & 0 & 1 \end{pmatrix} 100010−2−21 旋转完成后再反平移回原始位置,反平移矩阵为 ( 1 0 2 0 1 2 0 0 1 ) \mathbf{} \begin{pmatrix} 1 & 0 & 2 \\ 0 & 1 & 2 \\ 0 & 0 & 1 \end{pmatrix} 100010221 于是,所求变换矩阵为 ( 1 0 2 0 1 2 0 0 1 ) ( 3 2 − 1 2 0 1 2 3 2 0 0 0 1 ) ( 1 0 − 2 0 1 − 2 0 0 1 ) = ( 3 2 − 1 2 3 − 3 1 2 3 2 1 − 3 0 0 1 ) \mathbf{} \begin{pmatrix} 1 & 0 & 2 \\ 0 & 1 & 2 \\ 0 & 0 & 1 \end{pmatrix}\begin{pmatrix} \frac{\sqrt{3}}{2}& -\frac{1}{2} & 0 \\ \frac{1}{2} &\frac{\sqrt{3}}{2} & 0 \\ 0& 0 & 1 \end{pmatrix}\begin{pmatrix} 1 & 0 & -2 \\ 0 & 1 & -2 \\ 0 & 0 & 1 \end{pmatrix}=\begin{pmatrix} \frac{\sqrt{3}}{2}& -\frac{1}{2} & 3-\sqrt{3} \\ \frac{1}{2} &\frac{\sqrt{3}}{2} & 1-\sqrt{3} \\ 0& 0 & 1 \end{pmatrix} 100010221 23210−21230001 100010−2−21 = 23210−212303−31−31 对 f ( x , y ) f(x,y) f(x,y)变换后得到 g ( u , v ) g(u,v) g(u,v),根据题意有 ( 3 3 1 ) = ( 3 2 − 1 2 3 − 3 1 2 3 2 1 − 3 0 0 1 ) ( x y 1 ) \begin{pmatrix} 3 \\ 3 \\ 1 \end{pmatrix}=\begin{pmatrix} \frac{\sqrt{3}}{2}& -\frac{1}{2} & 3-\sqrt{3} \\ \frac{1}{2} &\frac{\sqrt{3}}{2} & 1-\sqrt{3} \\ 0& 0 & 1 \end{pmatrix}\begin{pmatrix} x \\ y \\ 1 \end{pmatrix} 331 = 23210−212303−31−31 xy1 得同解方程组为 { 3 x − y = 2 3 x + 3 y = 4 + 2 3 ⇒ { x = 5 + 3 2 y = 3 + 3 2 ⟹ g ( 3 , 3 ) = f ( 5 + 3 2 , 3 + 3 2 ) ≈ f ( 3.4 , 2.4 ) \begin{cases} \sqrt{3}x -y = 2\sqrt{3} \\ x +\sqrt{3} y = 4+2\sqrt{3} \end{cases}\Rightarrow \begin{cases} x = \frac{5+\sqrt{3}}{2} \\ y = \frac{3+\sqrt{3}}{2} \end{cases}\implies g(3,3)=f\left( \frac{5+\sqrt{3}}{2},\frac{3+\sqrt{3}}{2}\right)≈f(3.4,2.4) {3x−y=23x+3y=4+23⇒{x=25+3y=23+3⟹g(3,3)=f(25+3,23+3)≈f(3.4,2.4) 由于 f ( 3.4 , 2.4 ) f(3.4,2.4) f(3.4,2.4)的4个邻近像素值为: f ( 3 , 2 ) = 2 , f ( 3 , 3 ) = 3 , f ( 4 , 2 ) = 6 , f ( 4 , 3 ) = 9 f(3,2)=2,f(3,3)=3,f(4,2)=6,f(4,3)=9 f(3,2)=2,f(3,3)=3,f(4,2)=6,f(4,3)=9。故,由双线性插值公式 f ( x , y ) = a x + b y + c x y + d f(x,y)=ax+by+cxy+d f(x,y)=ax+by+cxy+d可得 { 3 a + 2 b + 6 c + d = 2 3 a + 3 b + 9 c + d = 3 4 a + 2 b + 8 c + d = 6 4 a + 3 b + 12 c + d = 9 ⟹ { a = 0 b = − 5 c = 2 d = 0 ⟹ f ( x , y ) = − 5 y + 2 x y \begin{cases} 3a+2b+6c+d=2 \\ 3a+3b+9c+d=3 \\ 4a+2b+8c+d=6 \\ 4a+3b+12c+d=9 \\ \end{cases}\implies \begin{cases} a=0 \\ b=-5 \\ c=2 \\ d=0 \\ \end{cases}\implies f(x,y)=-5y+2xy ⎩ ⎨ ⎧3a+2b+6c+d=23a+3b+9c+d=34a+2b+8c+d=64a+3b+12c+d=9⟹⎩ ⎨ ⎧a=0b=−5c=2d=0⟹f(x,y)=−5y+2xy综上, g ( 3 , 3 ) ≈ f ( 3.4 , 2.4 ) = − 5 × 2.4 + 2 × 3.4 × 2.4 = 4.32 ≈ 4 g(3,3)≈f(3.4,2.4)=-5×2.4+2×3.4×2.4=4.32≈4 g(3,3)≈f(3.4,2.4)=−5×2.4+2×3.4×2.4=4.32≈4
(2)将 g ( u , v ) g(u,v) g(u,v)放大2倍后得到 i ( m , n ) i(m,n) i(m,n),根据题意有 ( 4 4 1 ) = ( 1 0 2 0 1 2 0 0 1 ) ( 2 0 0 0 2 0 0 0 1 ) ( 1 0 − 2 0 1 − 2 0 0 1 ) ( u v 1 ) = ( 1 0 2 0 1 2 0 0 1 ) ( 2 0 0 0 2 0 0 0 1 ) ( 3 2 − 1 2 0 1 2 3 2 0 0 0 1 ) ( 1 0 − 2 0 1 − 2 0 0 1 ) ( x y 1 ) = ( 2 0 2 0 2 2 0 0 1 ) ( 3 2 − 1 2 1 − 3 1 2 3 2 − 1 − 3 0 0 1 ) ( x y 1 ) = ( 3 − 1 4 − 2 3 1 3 − 2 3 0 0 1 ) ( x y 1 ) \begin{align*} \mathbf{} \begin{pmatrix} 4\\ 4\\ 1 \end{pmatrix}&=\mathbf{} \begin{pmatrix} 1& 0& 2 \\ 0 &1 & 2\\ 0& 0 & 1 \end{pmatrix} \mathbf{} \begin{pmatrix} 2& 0& 0 \\ 0 &2 & 0\\ 0& 0 & 1 \end{pmatrix} \mathbf{} \begin{pmatrix} 1& 0& -2 \\ 0 &1 & -2\\ 0& 0 & 1 \end{pmatrix} \mathbf{} \begin{pmatrix} u\\ v\\ 1 \end{pmatrix}\\&=\mathbf{} \begin{pmatrix} 1 & 0 & 2 \\ 0 & 1 & 2 \\ 0 & 0 & 1 \end{pmatrix}\mathbf{} \begin{pmatrix} 2 & 0 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 1 \end{pmatrix}\begin{pmatrix} \frac{\sqrt{3}}{2}& -\frac{1}{2} & 0 \\ \frac{1}{2} &\frac{\sqrt{3}}{2} & 0 \\ 0& 0 & 1 \end{pmatrix}\begin{pmatrix} 1 & 0 & -2 \\ 0 & 1 & -2 \\ 0 & 0 & 1 \end{pmatrix}\mathbf{} \begin{pmatrix} x \\ y\\ 1 \end{pmatrix}\\ &=\mathbf{} \begin{pmatrix} 2& 0& 2 \\ 0 &2 & 2\\ 0& 0 & 1 \end{pmatrix}\mathbf{} \begin{pmatrix} \frac{\sqrt{3}}{2}& -\frac{1}{2} &1-\sqrt{3}\\ \frac{1}{2} &\frac{\sqrt{3}}{2} &-1-\sqrt{3} \\ 0& 0 & 1 \end{pmatrix}\mathbf{} \begin{pmatrix} x \\ y\\ 1 \end{pmatrix}\\ &=\begin{pmatrix} \sqrt{3}& -1 &4-2\sqrt{3}\\ 1 &\sqrt{3}&-2\sqrt{3} \\ 0& 0 & 1 \end{pmatrix}\mathbf{} \begin{pmatrix} x \\ y\\ 1 \end{pmatrix}\\ \end{align*} 441 = 100010221 200020001 100010−2−21 uv1 = 100010221 200020001 23210−21230001 100010−2−21 xy1 = 200020221 23210−212301−3−1−31 xy1 = 310−1304−23−231 xy1 得同解方程组为 { 3 x − y = 2 3 x + 3 y = 4 + 2 3 ⟹ { x = 5 + 3 2 y = 3 + 3 2 \begin{cases} \sqrt{3}x -y = 2\sqrt{3} \\ x +\sqrt{3} y = 4+2\sqrt{3} \end{cases}\implies \begin{cases} x = \frac{5+\sqrt{3}}{2} \\ y = \frac{3+\sqrt{3}}{2} \end{cases} {3x−y=23x+3y=4+23⟹{x=25+3y=23+3于是,由(1)可得 i ( 4 , 4 ) = g ( 3 , 3 ) ≈ f ( 3.4 , 2.4 ) = 4.32 ≈ 4 i(4,4)=g(3,3)≈f(3.4,2.4)=4.32≈4 i(4,4)=g(3,3)≈f(3.4,2.4)=4.32≈4
2008、2019甄题【计算题】
(2) i ( 4 , 4 ) = g ( 3 , 3 ) ≈ f ( 3.4 , 2.4 ) ≈ f ( 3 , 2 ) = 2 i(4,4)=g(3,3)≈f(3.4,2.4)≈f(3,2)=2 i(4,4)=g(3,3)≈f(3.4,2.4)≈f(3,2)=2
2005甄题【计算题】
(20分)假设有两张同一城市某一部分的前后相隔25年从同座建筑物上拍摄得到的数字图像,你希望通过两幅图像的投影重叠来显示变化。你发现一个建筑的一角在第一张图中位于位置(103,84),在第二张图中位于(107,94);一扇窗户在第一张图中位于位置(433,504),在第二张图中位于(377,439)。它们是否有(1)平移、(2)旋转(逆时针为正方向)、(3)尺度变化?各变化了多少?写出第一张图和第二张图进行配准所需要的几何变换。假定除了平移、旋转、尺度变化外,没有几何变形发生。
2007、2012、2014、2018甄题【计算题】
(15分)已知图像 A A A和 B B B, A A A中有两点 A 1 ( 20 , 30 ) A1(20,30) A1(20,30)和 A 2 ( 20 , 110 ) A2(20,110) A2(20,110)分别与 B B B中两点 B 1 ( 40 , 30 ) B1(40,30) B1(40,30)和 B 2 ( 120 , 30 ) B2(120,30) B2(120,30)一一对应。它们之间可能存在平移、旋转或比例变换,现要将 B B B配准到 A A A;
(1) 求将 B 1 B1 B1平移到 A 1 A1 A1所需的平移矩阵,并写出平移后 B 2 B2 B2的坐标 B 2 ′ B2' B2′;
(2) 如果将 B 2 ′ B2' B2′旋转到 A 1 、 A 2 A1、A2 A1、A2所决定的直线上,设逆时针旋转为正,旋转基点为 A 1 A1 A1,计算旋转角度,并写出旋转矩阵;
(3) 设经第(1)、(2〉步后图像 B B B变为 B ′ ′ B'' B′′,求将图像 B ′ ′ B'' B′′配准到图像 A A A所需的比例变换;
(4) 写出图 B B B到图 A A A的配准矩阵。
2021甄题【计算题】
习题2.36【计算题】*
习题2.37【计算题】*
6.5.4 图像配准
图像配准用于对其同一场景的两幅或多幅图像。在图像配准中我们有一幅输入图像和一幅参考图像,目的是对输入图像做几何变换,使输出图像与参考图像对齐(配准)。
假定输入图像和参考图像中都有4个约束点。基于双线性近似的一个简单模型为:
x = c 1 v + c 2 w + c 3 v w + c 4 x=c_1v+c_2w+c_3vw+c_4 x=c1v+c2w+c3vw+c4 y = c 5 v + c 6 w + c 7 v w + c 8 y=c_5v+c_6w+c_7vw+c_8 y=c5v+c6w+c7vw+c8
其中 ( v , w ) (v,w) (v,w)和 ( x , y ) (x,y) (x,y)分别是输入图像和参考图像中的约束点的坐标。
2005、2006、2010、2011甄题【名词解释】
图像配准
图像配准是一种将两幅或多幅图像对齐,使它们在一个共同坐标系中重叠的过程。配准的目标是找到一个变换,使得一幅图像(称为浮动图像或移动图像)与另一幅图像(称为参考图像或固定图像)精确对齐。
2008、2009、2010、2011、2022甄题【计算题】
下图中,右图是几何畸变图像 J J J,其中数值为灰度值,左边为几何校正后的图像 I I I,其中数值为坐标位置;右图中带 [ ] [\ \ ] [ ]的 A 、 B 、 C 、 D A、B、C、D A、B、C、D 位置分别与左图中带 [ ] [\ \ ] [ ]的 A 、 B 、 C 、 D A、B、C、D A、B、C、D 位置一一对应,形成了进行几何校正的四对控制点,且矩阵区 A B C D ABCD ABCD的畸变可以由一对双线性插值方程来建模,试计算:
(1)进行几何校正所需的变换方程;
(2)校正图像 I I I中像素位置 ( 2 , 2 ) (2,2) (2,2)的灰度值(使用双线性插值)。
(1)
矫正图像 I ( x , y ) I(x,y) I(x,y)的4个约束点坐标为: A ( 0 , 0 ) , B ( 3 , 0 ) , C ( 0 , 3 ) , D ( 3 , 3 ) A(0,0),B(3,0),C(0,3),D(3,3) A(0,0),B(3,0),C(0,3),D(3,3)
畸变图像 J ( v , w ) J(v,w) J(v,w)的4个约束点坐标为: A ( 0 , 0 ) , B ( 3 , 1 ) , C ( 1 , 3 ) , D ( 4 , 4 ) A(0,0),B(3,1),C(1,3),D(4,4) A(0,0),B(3,1),C(1,3),D(4,4)
由公式 { x = c 1 v + c 2 w + c 3 v w + c 4 y = c 5 v + c 6 w + c 7 v w + c 8 \begin{cases} x = c_1v+c_2w+c_3vw+c_4 \\ y = c_5v+c_6w+c_7vw+c_8 \end{cases} {x=c1v+c2w+c3vw+c4y=c5v+c6w+c7vw+c8与 A ( 0 , 0 ) A(0,0) A(0,0)点可得 c 4 = c 8 = 0 c_4=c_8=0 c4=c8=0与
{ 3 c 1 + c 2 + 3 c 3 = 3 c 1 + 3 c 2 + 3 c 3 = 0 4 c 1 + 4 c 2 + 16 c 3 = 3 和 { 3 c 5 + c 6 + 3 c 7 = 0 c 5 + 3 c 6 + 3 c 7 = 3 4 c 5 + 4 c 6 + 16 c 7 = 3 \begin{cases} 3c_1+c_2+3c_3=3 \\ c_1+3c_2+3c_3=0\\ 4c_1+4c_2+16c_3=3 \end{cases}和\begin{cases} 3c_5+c_6+3c_7=0 \\ c_5+3c_6+3c_7=3\\ 4c_5+4c_6+16c_7=3 \end{cases} ⎩ ⎨ ⎧3c1+c2+3c3=3c1+3c2+3c3=04c1+4c2+16c3=3和⎩ ⎨ ⎧3c5+c6+3c7=0c5+3c6+3c7=34c5+4c6+16c7=3观察可以发现两个方程组的系数矩阵一样,于是可以解增广矩阵 ( 3 1 3 3 0 1 3 3 0 3 4 4 16 3 3 ) → ( 1 0 0 9 8 − 3 8 0 1 0 − 3 8 9 8 0 0 1 0 0 ) \begin{pmatrix} 3 & 1& 3 &3 &0\\ 1 & 3 & 3 &0 &3\\ 4 & 4 & 16 &3 &3 \end{pmatrix}→\begin{pmatrix} 1 & 0& 0 &\frac{9}{8} &-\frac{3}{8}\\ 0 & 1 & 0 &-\frac{3}{8} &\frac{9}{8}\\ 0 & 0 & 1 &0 &0 \end{pmatrix} 3141343316303033 → 10001000189−830−83890 得 c 1 = 9 8 , c 2 = − 3 8 , c 3 = 0 , c 5 = − 3 8 , c 6 = 9 8 , c 7 = 0 c_1=\frac{9}{8},c_2=-\frac{3}{8},c_3=0,c_5=-\frac{3}{8},c_6=\frac{9}{8},c_7=0 c1=89,c2=−83,c3=0,c5=−83,c6=89,c7=0。故进行几何校正所需变换方程为 { x = 9 8 v − 3 8 w y = − 3 8 v + 9 8 w \begin{cases} x =\frac{9}{8}v-\frac{3}{8}w \\ y = -\frac{3}{8}v+\frac{9}{8}w \end{cases} {x=89v−83wy=−83v+89w(2) I ( 2 , 2 ) I(2,2) I(2,2)代入变换方程得
{ 2 = 9 8 v − 3 8 w 2 = − 3 8 v + 9 8 w ⟹ { v = 8 3 ≈ 2.67 w = 8 3 ≈ 2.67 \begin{cases} 2 =\frac{9}{8}v-\frac{3}{8}w \\ 2 = -\frac{3}{8}v+\frac{9}{8}w \end{cases} \implies\begin{cases} v =\frac{8}{3}≈2.67 \\ w =\frac{8}{3}≈2.67 \end{cases} {2=89v−83w2=−83v+89w⟹{v=38≈2.67w=38≈2.67 由于 J ( 2.67 , 2.67 ) J(2.67,2.67) J(2.67,2.67)的4个邻近像素值为: J ( 2 , 2 ) = 5 , J ( 2 , 3 ) = 2 , J ( 3 , 2 ) = 3 , J ( 3 , 3 ) = 1 J(2,2)=5,J(2,3)=2,J(3,2)=3,J(3,3)=1 J(2,2)=5,J(2,3)=2,J(3,2)=3,J(3,3)=1。故,由双线性插值公式 J ( v , w ) = a v + b w + c v w + d J(v,w)=av+bw+cvw+d J(v,w)=av+bw+cvw+d有
{ 2 a + 2 b + 4 c + d = 5 2 a + 3 b + 6 c + d = 2 3 a + 2 b + 6 c + d = 3 3 a + 3 b + 9 c + d = 1 ⇒ { a = − 4 b = − 5 c = 1 d = 19 ⟹ J ( v , w ) = − 4 v − 5 w + v w + 19 \begin{cases} 2a+2b+4c+d=5\\ 2a+3b+6c+d=2\\ 3a+2b+6c+d=3\\ 3a+3b+9c+d=1 \end{cases}\Rightarrow\begin{cases} a=-4\\ b=-5\\ c=1\\ d=19 \end{cases} \implies J(v,w)=-4v-5w+vw+19 ⎩ ⎨ ⎧2a+2b+4c+d=52a+3b+6c+d=23a+2b+6c+d=33a+3b+9c+d=1⇒⎩ ⎨ ⎧a=−4b=−5c=1d=19⟹J(v,w)=−4v−5w+vw+19综上, I ( 2 , 2 ) = J ( 2.67 , 2.67 ) = − 4 × 8 3 − 5 × 8 3 + 64 9 + 19 = 19 9 ≈ 2 I(2,2)=J(2.67,2.67)=-4×\frac{8}{3}-5×\frac{8}{3}+\frac{64}{9}+19=\frac{19}{9}≈2 I(2,2)=J(2.67,2.67)=−4×38−5×38+964+19=919≈2
6.6 向量与矩阵运算
RGB图像中每个像素都有三个分量,它们可组织成一个3维列向量 z = ( z 1 z 2 z 3 ) z=\begin{pmatrix} z_1\\ z_2\\ z_3 \end{pmatrix} z= z1z2z3 ,若一幅图像有n个分量,则可组织成一个n维列向量。
所有图像都可当做矩阵(或向量)来处理。例如将一幅 M × N M×N M×N的图像表示为一个 M N × 1 MN×1 MN×1维列向量,方法是令该向量的前 M M M个像素等于图像的第一列,令接着的 M M M个像素等于图像的第二列,以此类推。用这种方法形成的图像,我们可以表达适用于图像的更为广泛的线性处理: g = H f + n g=Hf+n g=Hf+n式中, f f f表示输入图像的 M N × 1 MN×1 MN×1向量, n n n表示 M × N M×N M×N噪声模式的 M N × 1 MN×1 MN×1向量, g g g表示处理后图像的 M N × 1 MN×1 MN×1向量, H H H是表示用于对输入图像进行线性运算处理的 M N × M N MN×MN MN×MN矩阵。
6.7 图像变换
空间域图像可由傅里叶变换到频率域进行处理,这种变换是无损的。离散傅里叶变换变换对为: F ( u , v ) = ∑ x = 0 M − 1 ∑ y = 0 N − 1 f ( x , y ) e − j 2 π ( u x / M + v y / N ) F(u,v)=\sum_{x=0}^{M-1}\sum_{y=0}^{N-1}f(x,y)e^{-j2π(ux/M+vy/N)} F(u,v)=x=0∑M−1y=0∑N−1f(x,y)e−j2π(ux/M+vy/N)和 f ( x , y ) = 1 M N ∑ u = 0 M − 1 ∑ v = 0 N − 1 F ( u , v ) e j 2 π ( u x / M + v y / N ) f(x,y)=\frac{1}{MN}\sum_{u=0}^{M-1}\sum_{v=0}^{N-1}F(u,v)e^{j2π(ux/M+vy/N)} f(x,y)=MN1u=0∑M−1v=0∑N−1F(u,v)ej2π(ux/M+vy/N)
图2.45与图2.44对应。 f ( x , y ) f(x,y) f(x,y)是图2.45a,一幅被周期干扰污染后的图像;图2.44中的变换框中用的是傅里叶变换, T ( u , v ) T(u,v) T(u,v)是图2.45b,这是频率域图像;图2.45a是一个模板,对应了图2.45b中的脉冲,为消除这个脉冲,我们将模板与变换相乘,即图2.44中运算框表示变换与模板相乘;最后傅里叶反变换,返回空间域得到 g ( x , y ) g(x,y) g(x,y),对应图2.45d,周期干扰噪声已被消除。
习题2.39【证明题】
习题2.40
由式 (2-59) 和可分离核的定义可得
对于固定的 x x x 值,该方程被视为沿 f ( x , y ) f (x, y) f(x,y) 一行的一维变换。通过让 x x x 从 0 0 0 到 M − 1 M -1 M−1 的变化,我们可以计算出整个数组 T ( x , v ) T(x,v) T(x,v)。然后,将这个数组代入上一个等式的最后一行,我们就得到了沿 T ( x , v ) T(x, v) T(x,v) 列的一维变换。换句话说,当核是可分离的,我们就可以沿着图像的行计算一维变换。然后,我们沿着中间结果的列计算一维变换,得到最终的二维变换 T ( u , v ) T(u,v) T(u,v)。我们先计算 f ( x , y ) f (x, y) f(x,y) 列的一维变换,再计算中间结果行的一维变换,就能得到相同的结果。
在第 4 章讨论二维傅立叶变换时,这一结果将发挥重要作用。根据公式(2-61),二维傅里叶变换的计算公式为
从问题 2.39 中我们知道,傅立叶变换核是可分离的,因此我们可以把这个式子写成
是沿 f ( x , y ) f(x,y) f(x,y) 行的一维傅立叶变换, x = 0 , 1 , 2 , . . . , M − 1 x=0,1,2,... ,M -1 x=0,1,2,...,M−1。
6.8 图像灰度和随机变量
均值和方差对于图像处理来说是很重要的,与图像的视觉性质明显相关。尤其是方差,决定了图像对比度的高低。
习题2.41
一家工厂生产小型聚合物方块,这些方块全部要进行视觉检查。检查是半自动的。在每个检查站,机器人将每个聚合物方块放到一个光学系统上,形成方块的放大图像。图像完全充满一个 80 m m × 80 m m 80mm×80mm 80mm×80mm大小的观察屏。缺陷在观察屏上显示为黑斑,检查员的工作是观看屏幕并挑出那些在屏幕上有一个或多个直径大于等于 0.8 m m 0.8mm 0.8mm的黑斑的产品。产品经理认为,如果她能找到完全自动化的处理过程,那么产品的利润将会增加 50 50% 50,同时会得到升迁。经过调研后,产品经理认为解决这个问题的方法是,用CCD电视摄像机查看每个检查屏,并将摄像机的输出馈送到图像处理系统中,图像处理系统检测气泡并测量气泡的直径,激活先前由检查员操作的接受/拒绝按钮。只要最小缺陷在数字图像中占据至少 2 × 2 2×2 2×2像素的面积,产品经理就能找到合适的系统。假设这位产品经理雇佣你来帮助她详细设计能够使用现有元器件并且满足需求的摄像机和镜头系统。现有镜头的焦距为 25 m m 25mm 25mm或 35 m m 35mm 35mm的整数倍,最大可达 200 m m 200mm 200mm。现有摄像机的图像大小分别为 512 × 512 512×512 512×512像素、 1024 × 1024 1024×1024 1024×1024 像素或 2048 × 2048 2048×2048 2048×2048像素。这些摄像机中的各个成像元素是大小为 8 × 8 μ m 8×8μm 8×8μm的方形,成像元素之间的距离为 2 μ m 2μm 2μm。对于这个应用,摄像机的成本远远高于镜头,因此你应使用与合适镜头匹配的分辨率最低的摄像机。作为一名顾问,你必须提供一份书面报告,报告中要详细分析你这样选择的原因。建议使用习题2.6中的成像几何。
如图所示 Δ x = λ × 80 z − λ \Delta x = \frac{\lambda \times 80}{z-\lambda} Δx=z−λλ×80其中 Δ x \Delta x Δx 是在CCD图像平面上形成的图像边尺寸; λ \lambda λ 是镜头焦距; z z z为距离。
成本最低的解决方案是使用分辨率为 512 × 512 512×512 512×512 的相机。根据图P2.27(a)中的信息,具有此分辨率的CCD芯片每条边的尺寸为 △ x = ( 16 μ ) × ( 512 ) = 8 m m △x =(16μ)×(512)= 8 mm △x=(16μ)×(512)=8mm。 代入上式,得到 z = 9 λ z = 9λ z=9λ 。若 λ = 25 m m λ=25mm λ=25mm ,则 z = 225 m m z=225mm z=225mm。这表明,镜头前部必须位于距离观察屏约 225 毫米处,以便投影到 CCD 图像平面上的屏幕图像尺寸不超过 512 × 512 512×512 512×512 相机CCD 芯片的8 毫米大小。 z z z 的这个值是合理的,但任何其他给定的镜头尺寸也是合理的;相机只需要放置在更远的地方。
直译答案:
芯片的几何形状如图P2.27(a)所示。从图P2.27(b)和图2.3中的几何形状,我们知道 Δ x = λ × 80 λ − z \Delta x = \frac{\lambda \times 80}{\lambda - z} Δx=λ−zλ×80其中, △ x △x △x是撞击图像平面的图像的边尺寸(因为观察屏是方形的,所以假设为正方形),且80毫米表示观察屏的大小,如问题陈述中所描述的。最便宜的解决方案是使用分辨率为 512 × 512 512×512 512×512 的相机。根据图P2.27(a)中的信息,具有此分辨率的CCD芯片每条边的尺寸为 ( 16 μ ) × ( 512 ) = 8 m m (16μ)×(512)= 8 mm (16μ)×(512)=8mm。将 △ x = 8 m m △x = 8 mm △x=8mm 代入上式,得到 z = 9 λ z = 9λ z=9λ 作为距离 z z z 与镜头焦距之间的关系,其中负号被忽略,因为它只是一个坐标反转。如果使用 25 毫米镜头,镜头前部必须位于距离观察屏约 225 毫米处,以便投影到 CCD 图像平面上的屏幕图像尺寸不超过 512 × 512 512×512 512×512 相机CCD 芯片的8 毫米大小。 z z z 的这个值是合理的,但任何其他给定的镜头尺寸也是合理的;相机只需要放置在更远的地方。
假设使用 25 m m 25 mm 25mm 镜头,下一个问题是确定是否按照规范要求,在至少 2 × 2 2×2 2×2 像素的区域上对最小的缺陷进行成像。给定缺陷是圆形的,最小的缺陷直径为 0.8 m m 0.8 mm 0.8mm。因此,需要做的就是确定直径为0.8毫米或更大的圆的图像在CCD成像平面上是否至少为 2 × 2 2×2 2×2像素。这可以通过使用与图P2.27(b)相同的模型来确定,其中 80 m m 80 mm 80mm替换为 0.8 m m 0.8 mm 0.8mm。在上式中使用 λ = 25 m m λ= 25 mm λ=25mm 和 z = 225 m m z = 225 mm z=225mm 得出 △ x = 100 μ △x = 100 μ △x=100μ 。换言之,直径为 0.8 m m 0.8 mm 0.8mm的圆形缺陷将在配备 25 m m 25 mm 25mm镜头的 512 × 512 512×512 512×512相机的CCD芯片上成像为直径为 100 μ 100μ 100μ的圆形,并以 225 m m 225 mm 225mm的距离观察缺陷。
如果,为了激活CCD感受器,其区域必须被整体激活,然后,从图P2.27(a)中可以看出,为了保证这类感受器的 2 × 2 2×2 2×2阵列被激活,必须将直径不小于 ( 6 ) ( 8 ) = 48 μ (6)(8)=48μ (6)(8)=48μ 的圆形区域成像到CCD芯片上。最小的缺陷被成像为直径为 100 μ 100μ 100μ 的圆,远高于 48 μ 48μ 48μ 的最小要求。
因此,我们得出结论:分辨率为 512 × 512 512×512 512×512的CCD相机使用 25 m m 25 mm 25mm 镜头,并在 225 m m 225 mm 225mm的距离上对观察屏成像,足以解决工厂经理提出的问题。