MATLAB:在不同时间运行我的程序时得到不同的结果
我正在使用MatlabR2013研究超声图像中的斑点噪声抑制。我设计了10个基本滤波器,并尝试使用这些滤波器进行混合组合。当我运行我的程序时,对于同一个输入图像,我在不同的时间得到不同的结果,其他输入参数没有改变。当我在凌晨1点17分运行程序时,PSNR=74.5424,当我在凌晨1点21分运行同一程序时,PSNR=75.04。为什么会这样 如果每次我运行我的程序时都有不同的值,我怎么能得出一个值的结论呢?请帮忙。我附上了下面的截图,请看信噪比、峰值信噪比、贝塔和斑点指数的值 J=imnoise(I,“斑点”,v)使用方程J=I+n*I将乘性噪声添加到图像I,其中n是平均值为0且方差为v的均匀分布随机噪声。v的默认值为0.04 所以你使用的是随机噪声,所以你的结果是不确定的。(一个可预测的RNG将是一个糟糕的…) 如果希望得到确定性结果,可以事先计算噪波,将其保存在mat文件中,并每次从文件中应用它 根据MATLAB帮助,方程式为MATLAB:在不同时间运行我的程序时得到不同的结果,matlab,image-processing,Matlab,Image Processing,我正在使用MatlabR2013研究超声图像中的斑点噪声抑制。我设计了10个基本滤波器,并尝试使用这些滤波器进行混合组合。当我运行我的程序时,对于同一个输入图像,我在不同的时间得到不同的结果,其他输入参数没有改变。当我在凌晨1点17分运行程序时,PSNR=74.5424,当我在凌晨1点21分运行同一程序时,PSNR=75.04。为什么会这样 如果每次我运行我的程序时都有不同的值,我怎么能得出一个值的结论呢?请帮忙。我附上了下面的截图,请看信噪比、峰值信噪比、贝塔和斑点指数的值 J=imnois
J=I+n*I
其中n是均值为0且方差为v的均匀分布随机噪声。v的默认值为0.04
可以为每个像素计算这样的n,并将其存储为heightxwidth双矩阵——我们称之为n。加载后,通过计算应用噪声:
Img2 = Img .* (1+N);
一些示例代码会很有用。您是否使用任何随机变量或mex文件?如果是mex文件,则可能存在内存或/或指针问题。无mex代码。。我将给出代码..我在图像预处理中加入斑点噪声。。使用imnoise命令。这就是我的问题的原因吗?如何事先计算噪声并将其保存在mat文件中?