离散小波变换

信息处理 图像处理 小波 转换
2022-02-24 05:17:05

我无法理解图像上的离散小波变换我按照 Robi Polikar 的教程对这个理论有了一个简要的了解。但我无法理解 wrt 图像。

ndwt2('chess.jpg', 2, 'haar')在棋盘上使用Matlab的函数,我得到了相册中的另外7张图片。(最后给出的专辑链接)

ndwt2()返回一个结构,其成员dec包含近似 (A)、水平 (H)、垂直 (V) 和对角线 (D)细节。

这是我有问题的地方。图像的 A、H、V 和 D 细节是什么意思?

另外,专辑中的第一张图片怎么是棋盘近似值(假设近似值意味着对图像的粗略估计)?它只是在国际象棋框的边界处有线条。这是一个近似值,还是我理解错了?

编辑

ndwt2我在将(这是double数据类型)返回的图像的数据类型转换为uint8.

这些是我现在得到的图像。

为什么 H 细节图像也包含一些 V 细节,尽管 H 中的 V 是嘈杂的?V 也一样,它还包含一些 H 细节。

以前不是这样,H只有垂直线,V只有水平细节,D是空白的。

上一张专辑

1个回答

可以在图像上实现标准离散小波变换 (DWT)(dwt2在 Matlab 中),对行和列进行一系列滤波和抽取操作。而小波本身是由不同层次的迭代产生的。

从 Haar 小波开始。在一维空间中,它可以通过一系列的和和差来实现([1,1][1,1]过滤器)上2-像素集。如果你在行和列上结合这两个过滤器,你会得到4可能的组合。它们在四2×2矩阵。

一级小波分解

所以拿小号2×2挡住帽子(左图)。如果对行和列上的像素求和,则全局对所有四个像素求和。这会给你右图左上角的青色。如果你对所有重复这个过程 2×2块,您会得到左上角的小图像,通常称为级别 1 (A1) 的近似值。如果你申请[1,1]在行上,并对列求和,你会得到右上角的小图像。如您所见(或多或少的垂直边缘),沿行的差异检测到一些垂直细节。它被称为级别 1 (V1) 的垂直细节。现在,如果你申请[1,1]在列上,对行求和,你会得到左下角的小图像,它检测到更多的水平细节,称为 H1。左下角的小图像计算行和列的差异。它被称为对角线的 D1,虽然它不是很精确,一般来说,在检测±45°边缘。

在那里,您有 A、H、V 和 D。标准 DWT 进一步分解左上角的小图像。以同样的推理,您可以在第二层(2在您的命令中):A2,D2,H2,V2。

由于 A1 已分解,剩下 A2、V2、H2、D2、V1、H1 和 D1,因此7图片。使用 DWT,这些图像更小(通过4×42×2)。

在这里,我们采取了单独的原件2×2块。另一个词是抽取,由2,在每个过滤器通过之后。

Wiht ndwt2,主要区别在于您不会抽取,就像采用重叠的块一样。因此,通常,A、V、H、D 图像看起来大致相同,只是它们的大小与原始图像几乎相同(直到边框效果和扩展)。

我对你展示的近似感到惊讶。确实,我相信它存在读取或格式问题。用图像编辑器打开它,再次保存一个新的 JPG 或 PNG 似乎可以解决问题。