如何解决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|
+---+---+-----+-----------+
结果如下:-
现在这是我的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]));
这是结果:-
那么我在这里缺少什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。