背景:实现二维压缩感知重构时,Matlab环境下成功得到了结果图,但打包为exe文件在Python环境下执行时出现了结果图不一致的情况,Python程序也没报错,程序成功运行结束了。
解决:是load语句的问题
在Matlab环境下修改读取数据的代码如下
Phi=load( './Phi.mat');
Phi1=Phi.Phi1;
Phi2=Phi.Phi2;
重新打包后在Python环境下就能重构出一样的结果图了。
出错的原因:
在实现2DCS时保存了两个随机矩阵
save('Phi.mat','Phi1','Phi2')
重构时读取这两项矩阵进行计算
load('Phi.mat','Phi1','Phi2')
但打包为exe文件后发现上面这条load语句在Python环境下没执行成功,也没报错,导致最终得到的重构图像和Matlab环境下的不一致(这条load语句不知道为什么在Matlab中没产生影响,但打包后在Python中导致结果图出错了)。