我有以下两个 8 抽头过滤器:
h0 ['-0.010597', '0.032883', '0.030841', '-0.187035', '-0.027984', '0.630881', '0.714847', '0.230378']
h1 ['-0.230378', '0.714847', '-0.630881', '-0.027984', '0.187035', '0.030841', '-0.032883', '-0.010597']
它们在图表上:
我用它来获得近似值(图像的较低子带)。这a(m,n)
在下图中:
我从《 Digital Image Processing, 3rd Edition》一书中得到了系数和图表,所以我相信它们是正确的。星号表示一维卷积(行或列)。向下箭头表示一维(行或列)的下采样。
我的问题是滤波器系数h0
和h1
总和大于 1(确切地说大约是 1.4 或 sqrt(2))。自然,如果我将任何图像与滤镜进行卷积,图像会变得更亮。确实,这就是我得到的(右边的预期结果):
有人可以提出这里的问题吗? 如果卷积滤波器系数总和大于 1,为什么它会起作用?
我有源代码,但它很长,所以我希望避免在这里发布它。如果绝对有必要,我稍后会提出来。
编辑
我正在做的是:
- 分解成子带
- 过滤其中一个子带
- 将子带重构为原始图像
请注意,重点不仅仅是要有一个可显示的子带分解图像——我还必须能够从子带中完美地重建原始图像。因此,如果我缩放过滤后的图像以补偿我的分解过滤器使图像更亮,这就是我必须做的:
- 分解成子带
- 将强度缩放应用于近似子带
- 过滤其中一个子带
- 将逆强度缩放应用于近似子带
- 将子带重构为原始图像
步骤 2 执行缩放。这就是@Benjamin 的建议。问题是步骤 4 变得必要,否则原始图像将无法正确重建。这种更长的方法将起作用。但是,教科书明确表示不对近似子带进行缩放。当然,也有可能是教科书错了。然而,更有可能的是我误解了这一切的运作方式——这就是我问这个问题的原因。
编辑 (2010/7/8)
我写信给这本书的作者以确认。他说你必须执行缩放,尽管书中说了些什么。