微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

dwt2 matlab 函数在 python pywt.dwt2 函数中结果不一样

如何解决dwt2 matlab 函数在 python pywt.dwt2 函数中结果不一样

我正在研究一个脑肿瘤分类项目,它最初是用 matlab 制作的,我正在尝试用 python 实现它,我在用 python 重新实现二维小波变换部分时遇到了问题。

这是matlab中的实现:-

+---+---+----+-----+-------+------+
| ra| rb|time|categ|outflow|inflow|
+---+---+----+-----+-------+------+
|123|125|   0|   17|      0|     0|
|123|125|   0|   18|      0|     0|
|123|125|   0|   19|      1|     1|
|123|125|   0|   20|      0|     0|
|123|125|   0|   21|      0|     0|
|123|125|   0|   22|      0|     0|
|123|125|   1|    9|      0|     0|
|123|125|   1|   10|      0|     0|
|123|125|   1|   11|      0|     0|
|123|125|   1|   12|      0|     0|
|123|125|   1|   13|      1|     0|
|123|125|   1|   14|      0|     1|
|123|125|   2|    9|      0|     0|
|123|125|   2|   10|      0|     0|
|123|125|   2|   11|      0|     0|
|123|125|   2|   12|      0|     0|
|123|125|   2|   13|      0|     0|
|123|125|   2|   14|      0|     0|
|123|125|   3|    9|      0|     0|
|123|125|   3|   10|      0|     0|
+---+---+----+-----+-------+------+
only showing top 20 rows

+---+---+-----+-----------+
| ra| rb|categ|avg(inflow)|
+---+---+-----+-----------+
|123|125|   14|        0.2|
|125|123|   12|        0.2| // <- the correct avg
|123|125|   19|        1.0|
|125|123|   14|        0.2|
|470|125|   22|        2.0|
+---+---+-----+-----------+

结果如下:-

enter image description here

在这是我的python实现:-

img = imread('1Perfect.jpg');
img = imresize(img,[200,200]);
thr = im2bw(img);
signal1 = thr(:,:);

[cA1,cH1,cV1,cD1] = dwt2(signal1,'db4');
[cA2,cH2,cV2,cD2] = dwt2(cA1,'db4');
[cA3,cH3,cV3,cD3] = dwt2(cA2,'db4');
DWT_feat = [cA3,cD3];

imshow(imresize(DWT_feat,[110,450]));

这是结果:-

enter image description here

那么我在这里缺少什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。