首页 理论教育 优化二维信号的情况

优化二维信号的情况

时间:2023-06-21 理论教育 版权反馈
【摘要】:图像是一个二维信号,因此,我们需要将上述对一维信号的分析方法拓展到二维信号的情况。事实上,式(8.2)中的矩阵A是一组行向量,每一个行向量与x做内积,从而生成了输出信号y中的各个元素分量。图8.5对于二维信号的情况,A={a(k,l)}是一个四维张量,编号为(k,l)的作用子a(k,l)仍然是一个矩阵,其中k,l=0,1,···5。此时,式可以进一步写为:图8.6计算相关所描述的是:模板a在图像x上“滑动”的过程。

优化二维信号的情况

图像是一个二维信号,因此,我们需要将上述对一维信号的分析方法拓展到二维信号的情况。事实上,二维或高维信号在计算机中都是按照一维信号进行存储的,因此,这个拓展也是比较自然的,我们可以尝试将二维图像重新排列成一维信号,同时记录下图像的尺寸,就可以在(被重新排列成的)一维信号中对图像中的像素点进行索引。本节中,我们将探讨一些相关细节。

首先要解决的第一个问题是:对于二维输入信号x={xi,j}(其中i=0,1,···m1,j=0,1,···n1),式(8.2)的具体形式是什么?

事实上,式(8.2)中的矩阵A是一组行向量,每一个行向量与x做内积,从而生成了输出信号y中的各个元素分量。我们将这个过程“移植”过来,就能解决上面提出的问题。首先,我们需要定义二维信号(图像或矩阵)a={ai,j}和x={xi,j}之间内积:

也就是说,两个矩阵的对应元素相乘再相加。我们可以将矩阵a={ai,j}称为一个作用子,而式(8.2)中的A对应着一组作用子。我们需要对这一组作用子进行编号,也就是说,

其中k=0,1,2,···,m1,l=0,1,2,···,n1,索引号(k,l)用于在A中查找和定位作用子。此时,A是一个四维的矩阵,又称为张量,编号为(k,l)的作用子a(k,l)仍然是一个矩阵:

其中i=0,1,2,···,m1,j=0,1,2,···,n1,如图8.5所示。

张量A中的所有作用子a(k,l)逐一地作用于输入图像x={xi,j},也就是说,与图像x={xi,j}做内积,所得到的结果:

按照作用子a(k,l)的索引号(k,l)排列成矩阵y={xk,l},就是系统输出的图像信号。现在,我们来考虑一种极其特殊的情况:张量A中的所有作用子a(k,l)都是通过同一个作用子a进行(左右和上下)平移而得到的。也就是说,作用子a(k,l)中的元素

可以直接通过查找作用子a={ai,j}而得到,相应的索引号为(ik,jl)。此时,式(8.91)可以进一步写为:

(www.xing528.com)

图8.5 对于二维信号的情况,A={a(k,l)}是一个四维张量,编号为(k,l)的作用子a(k,l)仍然是一个矩阵,其中k,l=0,1,···5。为了便于显示,矩阵尺寸选为14×14。

对应的输出图像y称为a和x(输入图像)的(二维)相关。上式描述的是:我们所熟知的模板(也称滑动窗口)a在图像x上“滑动”的计算过程,如图8.6所示。参数k和l描述了模板a的移动量。我们将模板a称为生成作用子,用以生成张量A。

图8.6中所示的通过“窗口滑动”来计算相关的过程,是图像处理中的一种基本操作方式,有着诸多应用,例如:滤波、边缘检测、模板匹配等等。在后续章节中,我们还会对其进行详细讨论。

另一种极其特殊的情况:张量A中的所有作用子a(k,l)都是通过同一个作用子a经过“翻转”和平移而得到的。此时,我们也可以直接通过查找(固定的)作用子a={ai,j}中的元素,来得到任意一个作用子a(k,l)中的所有元素相应的索引号为(ki,lj)。此时,式(8.91)可以进一步写为:

图8.6 计算相关所描述的是:模板(也称为滑动窗口)a在图像x上“滑动”的过程。参数k和l描述了模板(即“滑动窗口”)a的移动量。计算相关所对应的“滑动窗口”过程是图像处理的基本操作方式。

对应的输出图像y称为:输入图像x与矩阵a的(二维)卷积。上式常常被用来描述图像的模糊模型,其中a也被称为点扩散函数。在第9章中,我们将详细讨论相关内容。

最后,我们要对二维相关(8.93)和二维卷积(8.95)做一些补充说明。注意:在式(8.93)的计算过程中,会出现ai-k,j-l中的ik<0(或jl<0))的情况。出现上述情况时,我们需要将ik相应地调整为ik+m(或将jl相应地调整为jl+n)。同样地,在式(8.95)的计算过程中,当出现ki<0(或lj<0)时,需要将其相应地调整为ki+m(或lj+n)。

事实上,我们可以通过模运算来描述上述过程:

其中mod(ik,m)表示:ik除以m后所得到的余数,取值在0到m1之间。事实上,上述操作是采用周期化的方式,来查找作用子a={ai,j}中的各个元素。

图8.7 后向投影的具体实现过程为:首先,根据图2.20中的CT扫描结果矩阵(一个数据阵列)C={ck,l},逐行读取数据;然后,根据数据ck,l所对应的直线参数θ和rθ,将ck,l的值“加在”直线rθ=x cosθ+y sinθ所经过的图像像素点(x,y)T上。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈