基本复杂性问题 - 卷积

时间:2009-06-06 11:47:09

标签: analysis time-complexity convolution

我正在尝试评估一些基本图像过滤算法的复杂性。我想知道你是否可以验证这个理论;

对于像Inverse这样的基本像素滤镜,操作次数随输入的大小(以像素为单位)线性增长,并且

设S =图像边长 设M =#像素输入

反向的顺序为O(M)或O(S ^ 2)。

另一方面,卷积滤波器有一个参数R,它确定邻域的大小,以便在为每个滤波器建立下一个像素值时进行卷积。

设R =卷积滤波器的半径

卷积为O阶(M *((R + R * 2)^ 2)= O(M *(4R ^ 2)= O(MR ^ 2)

或者我应该让N =卷积滤波器(邻域)的大小(以像素为单位)?

O(M *(N))= O(MN)

最终,卷积滤波器线性地依赖于像素数和邻域中像素数的乘积。

如果您有任何文件链接已经记录在案,那将非常感谢。

亲切的问候,

加文

1 个答案:

答案 0 :(得分:2)

O(MN)似乎是正确的,如果我理解对于图像中的每个像素,卷积是邻域N中像素值的调整,而不管N是正方形。 N可以是最佳拟合三角形...但是为图像中的每个像素调整邻域中的像素,然后O(MN)更有意义,因为依赖性是在源图像中每像素调整的像素中。 / p>

有趣的是,在非常规邻域中,某些像素可能会被邻居掩码调整得比其他像素更多,但O(MN)仍然会有效。

如果邻域是像素P的中心,然后移动到下一个不在邻域中的P(意味着每个像素被转换一次),那么这就不行了。