主要内容

哈尔特2

二维Haar小波变换

描述

实例

[A.,H,v,D]=haart2(x)对矩阵进行二维离散小波变换(DWT),xx是具有偶数行和列维的二维、三维或4-D矩阵。如果x是4-D,维度是逐个空间、逐个通道、逐个批处理的。哈尔变换总是沿着输入的行和列的维度进行计算。如果行和列的尺寸x如果是二的幂,则可以得到下一级的Haar变换log2(最小值(x[12])).的行或列维数x如果是偶数,但不是二的幂,则可以得到下一级的Haar变换地板(log2 (min(大小(x, [1 - 2]) / 2)))

哈尔特2返回近似系数,A.,在最粗糙的层次。哈尔特2还按级别返回包含水平、垂直和对角细节系数的矩阵单元数组。如果仅在分辨率较粗的一个级别计算二维Haar变换,则H,v,D是矩阵。默认值为水平取决于文件的行数x

实例

[A.,H,v,D]=haart2(x,水平)执行2-D Haar变换到指定级别。

实例

[A.,H,v,D]=haart2(___,整数滞后)指定二维Haar变换如何使用前面的任何语法处理整数值数据。

例子

全部折叠

获取二维数据的二维Haar变换,并绘制其对角线和水平1级细节。

负载xbox;[a,h,v,d]=haart2(xbox);imagesc(xbox)标题(“原始图像”)

图中包含一个轴对象。标题为“原始图像”的轴对象包含一个类型为“图像”的对象。

图子图(2,1,1)imagesc(d{1})标题(“对角线级别1详细信息”)子地块(2,1,2)图像SC(h{1})标题(“水平1级细节”)

图中包含2个轴对象。标题为对角线级别1详细信息的轴对象1包含图像类型的对象。标题为水平级别1详细信息的轴对象2包含图像类型的对象。

显示限制图像上2-D Haar变换的最大级别的效果。

加载并显示一个摄影师的图像。

im=imread(“cameraman.tif”);显示亮度图像(im)

Figure包含axes对象。axes对象包含image类型的对象。

获得二维Haar变换到第2级,并查看第2级近似。

[a2,h2,v2,d2]=haart2(im,2);图像C(a2)

Figure包含axes对象。axes对象包含image类型的对象。

使用默认值比较二维哈尔变换结果“非整数”国旗和国旗“整数”国旗。摄影师的形象是uint8数据,因此其最大值为255。

获取默认的Haar变换。近似细节系数超出范围0到255。

im=imread(“cameraman.tif”);[a、h、v d] = haart2 (im);A.
一个= 3.0393 e + 04

获取Haar变换,将其限制为整数值。近似细节是一个整数,并且在原始图像数据的范围内。

(a、h、v, d) = haart2 (im,“整数”);a
a=119

输入参数

全部折叠

输入信号,指定为2-D、3-D或4-D实值矩阵。如果x是4-D,维度是逐个空间、逐个通道、逐个批处理的。的行和列大小x长度必须均匀。

数据类型:仅有一个的|双重的

执行二维哈尔变换的最大级别,指定为正整数。默认值取决于输入信号的长度,x

  • 的行和列大小x如果是二的幂,则可得到2-D Haar变换水平log2(最小值(x[12]))

  • 的行和列大小x是偶数,但至少1不是2的幂,水平等于地板(log2 (min(大小(x, [1 - 2]) / 2)))

如果水平大于1,那么H,v,D是细胞阵列。如果水平等于1,那么H,v,D矩阵。

整数值数据处理,指定为“非整数”“整数”“非整数”在2-D Haar变换中不保留整数值数据,以及“整数”保存它“整数”仅当输入的所有元素,x,是整数。对于整数值输入,哈尔特2返回整数值小波系数。对于这两个“非整数”“整数”,而二维哈尔变换算法则使用浮点运算。如果x是单精度输入,Haar变换系数的数值类型为单精度。对于所有其他数值类型,系数的数值类型为双精度。

输出参数

全部折叠

根据所计算的转换级别,以系数的标量或矩阵的形式返回的最粗尺度的近似系数。近似系数或缩放系数是输入的低通表示。在每一层,近似系数被划分为粗近似和细系数。

数据类型:仅有一个的|双重的

水平细节系数按级别,返回为矩阵或矩阵的单元格数组。如果水平大于1,H是单元格数组。如果水平= 1时,二维哈尔变换仅在分辨率上粗糙一层计算,H是一个矩阵。

笔记生成的C和C++代码总是返回水平细节系数H在单元格数组中。

数据类型:仅有一个的|双重的

按层次的垂直细节系数,作为矩阵或矩阵的单元格数组返回。如果水平大于1,v是单元格数组。如果水平= 1时,二维哈尔变换仅在分辨率上粗糙一层计算,v是一个矩阵。

笔记生成的C和C++代码总是返回垂直细节系数v在单元格数组中。

数据类型:仅有一个的|双重的

按级别的对角线细节系数,作为矩阵或矩阵单元数组返回。如果水平大于1,D是单元格数组。如果水平= 1时,二维哈尔变换仅在分辨率上粗糙一层计算,D是一个矩阵。

笔记生成的C和C++代码总是返回对角细节系数D在单元格数组中。

数据类型:仅有一个的|双重的

扩展能力

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

GPU阵列
使用并行计算工具箱™在图形处理单元(GPU)上运行加速代码。

R2016b中引入